WO2020085014A1 - 通信装置、通信方法及びデータ構造 - Google Patents
通信装置、通信方法及びデータ構造 Download PDFInfo
- Publication number
- WO2020085014A1 WO2020085014A1 PCT/JP2019/038811 JP2019038811W WO2020085014A1 WO 2020085014 A1 WO2020085014 A1 WO 2020085014A1 JP 2019038811 W JP2019038811 W JP 2019038811W WO 2020085014 A1 WO2020085014 A1 WO 2020085014A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- afc
- node
- field
- communication
- packet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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/34—Source routing
-
- 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
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
-
- 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
- H04L45/7453—Address table lookup; Address filtering using hashing
Definitions
- the present disclosure relates to a communication device, a communication method, and a data structure.
- the service function (Service Function) that transfers the packet transferred in the network to the server device that is not included in the original packet transfer route as necessary and operates on the server device.
- SF Service Function Chaining
- Examples of SF include Network Address Translation (NAT), Load Balancer, and Web Application Firewall (WAF).
- Non-Patent Document 1 describes the SFC architecture.
- Patent Document 1 describes a method for autonomously decentralizing fault detection and fault recovery of devices and links in order to enhance the availability of virtualized network service functions.
- SFs such as WAF and Load Balancer are prepared from the viewpoint of network operators and service providers. That is, what kind of packet is subject to SFC is determined by the intention of the network operator or service provider.
- a new and improved method is possible in which one or more functions desired by the service user can be applied to the packet desired by the service user.
- a communication device, a communication method, and a data structure are proposed.
- a communication unit that performs communication with another node, and a control unit that controls communication by the communication unit, wherein the control unit directs the source node to the destination node.
- the control unit directs the source node to the destination node.
- Existing in the route by adding header information describing at least route information between the own device located at the latter stage of the source node and the destination node located at the former stage of the destination node to the packet.
- There is provided a communication device that causes the communication unit to send the data to another node that operates.
- a communication unit that performs communication with another node, and a control unit that controls communication by the communication unit, the control unit, the source node to the destination node
- the communication is performed by deleting the header information added to the addressed packet, which describes at least the route information from the start node located in the latter stage of the source node to the own device located in the former stage of the destination node.
- a communication device is provided for sending to a department.
- a communication unit that performs communication with another node, and a control unit that controls communication by the communication unit, the control unit, the source node to the destination node With reference to the data to which the header information in which the route information from the start node located in the latter stage of the transmission source node to the destination node in the front stage of the destination node is described is added to the addressed packet
- a communication device that determines a next node and sends the data to the communication unit toward the determined next node.
- a communication unit that performs communication with another node, and a control unit that controls communication by the communication unit, the control unit is provided between the start node and the destination node.
- the start node is a node for adding header information describing at least route information between the start node and the destination node, and the destination node deletes the header information.
- a communication device in which information on a function to be executed and contents of processing according to the execution result of the function in the relay node are described.
- the communication with another node is performed, and the communication with the other node is controlled, and the controlling is performed by the transmission source node.
- the header information in which the route information between the start node located in the latter stage of the source node and the destination node located in the former stage of the destination node is added is added to the route.
- a communication method is provided in which transmission is made to other nodes existing therein.
- the communication with another node is performed, and the communication with the other node is controlled, and the controlling is performed by the transmission source node.
- the header information describing at least the route information between the start node located in the latter stage of the source node and the destination node located in the former stage of the destination node is deleted to remove the header information.
- a communication method for sending to another node is provided.
- the communication with another node is performed, and the communication with the other node is controlled, and the controlling is performed by the transmission source node.
- Data to which a header information describing at least route information from a start node located in the latter stage of the source node to a destination node located in the former stage of the destination node is added to a packet directed to the destination node is added.
- a communication method is provided in which a next node is determined with reference, and the data is transmitted to the determined next node.
- a communication unit that executes communication with another node, a control unit that controls communication by the communication unit, and the control unit is a packet that a source node directs to a destination node. Used in a communication device for adding header information to the communication unit and sending it to the communication unit.
- the header information a start node located after the source node between a start node and a destination node, and the transmission
- a data structure is provided, which is provided with at least route information with respect to a destination node located upstream of a destination node.
- FIG. 3 is an explanatory diagram illustrating an AFC architecture proposed in an embodiment of the present disclosure. It is explanatory drawing which shows the structure of an AFC data packet. It is explanatory drawing which shows the security measures in installation of AF. It is explanatory drawing which shows the security measures in installation of AFC. It is explanatory drawing which shows the security measure in data packet transfer. It is explanatory drawing which shows the security measure in deletion of AFC. It is explanatory drawing which shows the security measure in deletion of AF. It is explanatory drawing which shows the procedure at the time of installing AF on AF Node. It is explanatory drawing which shows the structural example of AF Setup Request packet.
- FIG. 3 is an explanatory diagram illustrating a functional configuration example of a communication device 100 that can function as each node according to an embodiment of the present disclosure.
- FIG. 1 is an example of SFC architecture disclosed in Non-Patent Document 1.
- SFC-enabled Domain the range to which SFC is applied is called SFC-enabled Domain.
- SFF service function forwarders
- SF service functions
- Packets that enter SFC-enabled Domain from the Internet first reach the classifier.
- the classifier determines which SF should be applied to this packet from the header of the packet, inserts that information into the packet as a Network Service Header (NSH), and then relays the packet. For example, assume that only SF1 is applied to this packet.
- NSH Network Service Header
- SFF1 Upon receiving this packet, SFF1 learns from the contents of NSH that SF1 is applied to this packet, and transfers this packet to SF1. SF1 processes this packet and returns it to SFF1. SFF1 transfers this packet to SFF2. In this example, only SF1 is applied to the packet, so SFF2 to SFFn simply relay this packet, and finally this packet reaches the Web server.
- SFs such as WAF and load balancer are prepared from the viewpoint of network operators and service providers. That is, what kind of packet is subject to SFC is decided according to the intention of the network operator or the service provider.
- AFC Application Function Chaining
- AF Application Function
- FIG. 2 is an explanatory diagram illustrating an AFC architecture proposed in the embodiment of the present disclosure.
- a network work area in which AFC can be set is called an AFC domain.
- nodes called AFC Ingress and AFC Egress are arranged.
- the AFC Ingress is a node which is an entrance to the AFC domain regarding a data packet to which the AFC is applied
- the AFC Egress is a node which is an exit of the AFC domain.
- the same node may operate as an AFC Ingress or may operate as an AFC Egress.
- the eNB, S-GW, or P-GW plays the role of AFC Ingress.
- AFC Ingress and one AFC Egress are present in FIG. 2, a plurality of AFC Ingress and AFC Egress may be present.
- AFC Ingress and AFC Egress each have a well-known port as a port used for transmitting / receiving data packets and a port used for transmitting / receiving control packets.
- AFC Manager is a node that manages AFC in AFC domain.
- AFC User is a user who installs AFC in AFC domain.
- the AAA Server is a node that authenticates and authorizes the AFC User.
- AF Node is a node that can execute AF.
- a daemon process called AFC Daemon-p is always running in AF Node.
- AFC Daemon-p shall have a well-known port as a port for sending and receiving control packets. In FIG. 2, the description of AFC Daemon-p is omitted.
- COTS Common off-the-shelf
- Server is a communication partner of COTS device. The application on COTS device communicates with the application on Server.
- AFC Ingress is an example of a start node of the present disclosure
- AFC Egress is an example of a target node of the present disclosure
- the COTS device is an example of a transmission source node of the present disclosure
- the Server is an example of a transmission destination node of the present disclosure.
- the route through which the data packet is transferred may differ for each data packet.
- a route on which the data packet is actually transferred on the AFC is called an AFC path.
- AFC User installs one or more AFs used in AFC in the desired AF Node. This work is called AF Setup.
- AFC User installs AFC by connecting the installed AFs in a straight line or in a shape with merging and branching.
- the AFC configuration information is held by AFC Ingress. This work is called AFC Setup.
- AFC Setup In order to select the data packet to which AFC should be applied from the data packets transmitted by the application on COTS device, so-called 5-tuple (start point IP address, end point IP address, protocol, start point port number, end point port number) is used. use.
- the application on COTS device sends a data packet by TCP / IP or UDP / IP.
- This packet is called an original data packet.
- the original data packet reaches AFC Ingress.
- AFC Ingress selects an AFC to be applied by a 5-tuple, and adds an IP header, a UDP header and an AFC header for realizing AFC to the received data packet.
- This packet will be called an AFC data packet.
- FIG. 3 is an explanatory diagram showing the structure of an AFC data packet.
- the “IP header” and the “UDP header” will refer to the IP header and the UDP header added to the original data packet.
- AFC Ingress sends an AFC data packet.
- the AFC data packet passes through the AF Nodes that compose the AFC, and the AF is applied to the original data packet at each AF Node. Finally, the AFC data packet reaches AFC Egress.
- AFC Egress removes the IP header, UDP header and AFC header from the AFC data packet, extracts the original data packet, and transmits the extracted packet.
- AF Setup Request packet AF Setup Response packet
- AA Request packet AA Response packet
- AF Invoke Response packet FC Ingest packet
- FC Inject packet AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet, AFC Request packet Request packet, AFC Delete Response packet, AF Delete Request packet, AF Delete Response packet, Load Monitoring Request packet, Load Monitoring Resp nse is a packet and the Feedback packet.
- the Type field indicates the type of packet. The packet types are roughly classified into a Request packet that requests an operation and a Response packet that is a response packet to the Request packet.
- the User ID field shows the identifier of the AFC User.
- User Credential indicates information for AFC User authentication and authorization. The information for authentication authorization is, for example, a user name and password.
- the AF Node IP Address field indicates the IP address of the AF Node. In the present embodiment, it is assumed that the AF is stored in the AF Node as an executable file.
- the AF File Name field indicates the AF executable file name.
- the AF Parameters field indicates parameters for activating AF.
- the Status field indicates the processing result for the processing request indicated by the Request packet.
- the AF ID field indicates the AF identifier.
- the AFC Daemon Data Port field indicates the port number for AFC Daemon to send and receive AFC data packets.
- the AFC Daemon Control Port field indicates the port number for AFC Daemon to send and receive control packets.
- the following five fields are match fields for selecting the original data packet to which AFC should be applied.
- the Source IP Address field indicates the starting point IP address.
- the Destination IP Address field indicates the end point IP address.
- the Protocol field indicates the type of transport layer protocol.
- the Source Port field indicates the starting point port number.
- the Destination Port field indicates the end point port number.
- the Ingress IP Address field indicates the IP address of AFC Ingress.
- the Egress IP Address field indicates the IP address of AFC Egress.
- the No of AFs field indicates the number of AFs included in the AFC.
- the AF Session Key field indicates key information shared by the AFC User, the AFC Manager, the AFC Ingress, and the AFC daemon regarding the AF installed by the AFC User.
- the AF Certificate field indicates the certificate information generated from the AF Session Key.
- the Next Index Length field indicates the length of the Next Index field.
- the Next Index field indicates the index (the number indicating the order in the AFC, which starts from 0) of the AF to be applied next among the AFs forming the AFC.
- the AFC Session Key field indicates the key information shared by the AFC User, the AFC Manager, and the AFC Ingress regarding the AFC installed by the AFC User.
- the AFC Certificate field indicates the certificate information generated from the AFC Session Key.
- the Load field indicates the load on the AF Node.
- the In Timestamp field indicates the time when the AF Node receives the AFC data packet.
- the Out Timestamp field indicates the time when the AF Node transmitted the AFC data packet.
- the Ingress Out Timestamp field indicates the time when AFC Ingress transmitted the AFC data packet.
- the Egress In Timestamp field indicates the time when the AFC Egress received the AFC data packet.
- the header of a data packet in AFC is composed of an IP header, a UDP header and an AFC header.
- IP header only the start point IP address (Src IP) field and the end point IP address (Dst IP) field are focused.
- Dst IP end point IP address
- UDP header attention is paid only to the start point port (Src Port) field and the end point port (Dst Port) field.
- the AFC header consists of the following fields.
- the AFC ID field indicates the AFC identifier.
- the Sequence Number field indicates the sequence number of the AFC data packet. The sequence number is assigned for each AFC.
- the Ingress Out Timestamp field indicates the time when AFC Ingress transmitted the AFC data packet. Various flags can be set in the Flags field. In this embodiment, only the Feedback flag is defined. When AFC Egress receives an AFC data packet with the Feedback flag set, AFC Egress sends the AFC Feedback packet to AFC Ingress.
- the No of AFs field indicates the number of AFs included in the AFC.
- the AF Index field indicates the index (starting from 0) of the AF to be applied next.
- the AF Node IP Address field indicates the IP address of the AF Node.
- the Daemon Data Port field indicates the port number used by AFC Daemon for sending and receiving AFC data packets.
- the AF ID field indicates the AF identifier.
- the AF Certificate field indicates the certificate information generated from the key information shared between the AFC User and the AFC Daemon regarding the AF installed by the AFC User.
- the Next Index Length field indicates the length of the Next Index field.
- the Next Index field indicates the AF index to be applied next. This field consists of a pair "conditional expression: AF index".
- the In Timestamp field indicates the time when the AF Node receives the AFC data packet.
- the Out Timestamp field indicates the time when the AF Node transmitted the AFC data packet.
- Egress IP Address indicates the IP address of AFC Egress.
- the Egress Data Port field indicates the port number for AFC Egress to receive the AFC data packet.
- the AFC Daemon holds Daemon AF Table and Daemon AFC Table as management tables.
- the AFC Manager holds a Manager User Table, a Manager AFC Table, a Manager AF Table, a Manager AF List, and a Manager AF Node Table as management tables.
- the AFC Ingress stores an Ingress AFC Table, an Ingress AF Table, an Ingress AF Node Table, an Ingress AFC Path List Table, an Ingress AFC Path List Entry AF, and an Ingress.
- the ptr to next User Table field indicates a pointer that points to another User Table.
- the ptr to AF Table field indicates a pointer that points to another AF Table.
- the ptr to next AF Table field indicates a pointer that points to another AF Table.
- the User ID field shows the identifier of the AFC User.
- the Time to Live field indicates the time until the setting information related to AFC User times out.
- the AF ID field indicates the AF identifier.
- the AF In Port field indicates the port number used when inputting the original data packet to the AF.
- the AF Out Port field indicates the port number used when receiving the processed original data packet from the AF.
- the AFC Session Key indicates key information shared by the AFC User and the AFC Manager regarding the AFC installed by the AFC User.
- the AF Session Key field indicates the key information shared by the AFC User, the AFC Manager, the AFC Ingress, and the AFC daemon regarding the AF installed by the AFC User.
- the AF Node IP Address field indicates the IP address of the AF Node.
- the Daemon Data Port field indicates the port number used by AFC Daemon for sending and receiving AFC data packets.
- the Daemon ControlPort field indicates the port number used by AFC Daemon for sending and receiving control packets.
- the Ingress IP Address field indicates the IP address of AFC Ingress.
- the Egress IP Address field indicates the IP address of AFC Egress.
- the Sequence Number field indicates the sequence number of the most recently received AFC data packet.
- the Next Index Length field indicates the length of the Next Index field.
- the Next Index field indicates the AF index to be applied next. This field consists of a pair "conditional expression: AF index".
- the Load field indicates the load on the AF Node.
- the ptr to Next AFC Path List Table field indicates a pointer pointing to another AFC Path List Table.
- the ptr to AFC Path List Entry field indicates a pointer to the AFC Path List Entry.
- the AFC Path ID field indicates the AFC path identifier.
- the ptr to next AFC Path List Entry field indicates a pointer to another AFC Path List Entry.
- the ptr to AF Node TS Table field indicates a pointer that points to the AF Node TS Table.
- the Ingress Out Timestamp field indicates the time when AFC Ingress transmitted the AFC data packet.
- the Egress In Timestamp field indicates the time when the AFC Egress received the AFC data packet.
- the ptr to next AF Node TS Table field indicates a pointer to another AF Node TS Table.
- the In Timestamp field indicates the time when the AF Node receives the AFC data packet.
- the Out Timestamp field indicates the time when the AF Node transmitted the AFC data packet.
- a secure communication path such as TLS (Transport Layer Security) is preset between the AFC Manager and the AAA server. According to the authors, it is possible to establish a TLS connection between AFC User and AFC Manager, between AFC Manager and AFC Ingress, between AFC Ingress and AFC Egress, and between AFC Manager and AF Node as required. . Further, by setting parameters in the COTS device, it is possible to establish a secure communication path between the COTS device and the AFC Ingress by an authentication method such as WPA2 (Wi-Fi Protected Access 2) in Wi-Fi.
- WPA2 Wi-Fi Protected Access 2
- FIG. 4 is an explanatory diagram showing security measures in the installation of AF.
- the AFC User establishes a TLS connection with the AFC Manager (step S101).
- the AF User sends an AF installation request packet (AF Setup Request packet) including authentication authorization information (User Credential) to the AFC Manager (step S102).
- AF Setup Request packet AF Setup Request packet
- User Credential authentication authorization information
- AFC Manager sends an authentication request packet (AA Request packet) including User Credentials to the AAA server (step S103).
- the AAA Server verifies the User Credential and authenticates and authorizes the AFC User (step S104).
- AFC User authentication authorization is verification of the authenticity of the AFC User and verification of whether the AFC User has the authority to install and use a specific AF at a specific AF Node.
- the AAA Server returns the result of authentication and authorization to the AFC Manager (step S105).
- the AFC Manager When the authentication and authorization are successful, the AFC Manager generates the AF Session Key (step S106). Any method may be used to generate the AF Session Key.
- the AF Session Key may be a random number having an arbitrary length, for example.
- AFC Manager establishes a TLS connection with AFC Daemon (step S107).
- the AFC Manager sends an AF activation request packet (AF Invoke Request packet) including the AF Session Key to the AFC Daemon (step S108).
- AF Invoke Request packet AF Invoke Request packet
- AFC Daemon activates the designated AF (omitted in FIG. 4). Then, the AFC Daemon shares the AF Session Key by saving the AF Session Key (step S109).
- AFC Daemon returns the AF activation result to AFC Manager (step S110).
- AFC Manager disconnects the TLS connection with AFC Daemon (step S111).
- the AFC Manager returns a packet (AF Setup Response packet) including the AF Session Key and the result of the AF installation to the AFC User (step S112).
- the AFC User disconnects the TLS connection with the AFC Manager (step S113).
- the AFC User shares the AF Session Key by saving the AF Session Key (step S114).
- AFC User only authorized AFC User can set and use AF.
- the fact that the AFC User has the authority to install and use the AF is shared among the AFC User, the AFC Manager, and the AFC Daemon as the information of the AF Session Key.
- the AF Session Key is generated for each AF installed.
- FIG. 5 is an explanatory diagram showing security measures in AFC installation.
- the AFC User and the AFC Manager share the AF Session Key with respect to all the AFs constituting the AFC to be installed (step S121).
- AFC User establishes a TLS connection with AFC Manager (step S122).
- the AFC User sends an AFC installation request packet (AFC Setup Request packet) including AF Certificates for all AFs that compose the AFC to the AFC Manager (step S123).
- AF Certificate is certificate information generated from AF Session Key.
- a method in which a bit string obtained by applying a hash function to a bit string that is a concatenation of the AF identifier and the AF Session Key is considered.
- the AFC Manager verifies the AF Certificate for all the AFs included in the AFC Setup Request using the AF Session Key held by the AFC Manager (step S124). If the verification of the AF Certificate is successful for all the AFs included in the AFC Setup Request, the AFC Manager generates the AFC Session Key (step S125). Any method can be used to generate the AFC Session Key. For example, the AFC Session Key may be a random number of any length.
- AFC Manager establishes a TLS connection with AFC Ingress (step S126). Then, the AFC Manager sends an AFC installation request packet (AFC Install Request packet) including an AF Session Key and an AFC Session Key related to all AFs included in the AFC Setup Request to the AFC Ingress (step S127).
- AFC Install Request packet AFC Install Request packet
- the AFC Ingress saves the AFC installation information (omitted in FIG. 5), and shares the AF Session Key by saving the AF Session Key and the AFC Session Key related to all AFs that compose the AFC (step S128).
- AFC Ingress returns the result of AFC installation processing to AFC Manager (step S129).
- AFC Manager disconnects the TLS connection with AFC Ingress (step S130).
- AFC Manager returns a packet (AFC Setup Response packet) including the result of AFC installation processing and AFC Session Key to AFC User (step S131).
- the AFC User disconnects the TLS connection with the AFC Manager (step S132).
- the AFC User shares the AF Session Key by saving the AFC Session Key (step S133).
- the AFC Session Key is generated for each AFC and shared among the AFC User, the AFC Manager and the AFC Ingress.
- the AF Session Key is shared by AFC User, AFC Manager and AFC Daemon, as well as AFC Ingress.
- FIG. 6 is an explanatory diagram showing security measures in data packet transfer.
- the AF Session Key regarding each AF constituting the AFC is shared between the AFC User, the AFC Daemon, and the AFC Ingress (step S141).
- the COTS device transmits the original data packet (step S142).
- the AFC Ingress receives the original data packet and transmits the AFC data packet
- the AFC Ingress generates an AF Certificate from the AF Session Key for each AF that constitutes the AFC and includes it in the AFC header (step S143).
- a method of making a bit string that is a result of applying a hash function to a bit string that is a concatenation of a sequence number, an AF identifier and an AF Session Key can be considered.
- AFC Ingress sends the AFC data packet to AFC Daemon (step S144).
- AFC Daemon checks the AF Certificate related to the AF operating on itself (step S145). If the verification is successful, AFC Daemon applies AF to the AFC data packet (not shown in FIG. 6). The AFC Daemon transfers the AFC data packet to the next AFC Daemon (step S146).
- AFC Daemon can detect that it is an unauthorized AFC data packet.
- AFC Ingress increments the sequence number for each packet and includes it in the AFC header. The sequence number is assigned for each AFC.
- AFC Daemon records the sequence number of the received AFC data packet. Therefore, even if an unauthorized node eavesdrops a legitimate AFC data packet and stores it, and then later transmits the eavesdropped packet (replay attack), the AFC Daemon can detect that it is a replay attack. If a sequence number is also used when generating the AF Certificate as described above, a forged sequence number can also be detected.
- FIG. 7 is an explanatory diagram showing security measures in AFC deletion.
- AFC User, AFC Manager and AFC Ingress share the AFC Session Key related to the AFC to be deleted (step S151).
- the AFC User sends an AFC delete request packet (AFC Delete Request packet) including the AFC Certificate to the AFC Manager (step S152).
- AFC Delete Request packet AFC delete request packet
- a method of concatenating the AFC identifier and the AFC Session Key to the bit string resulting from the operation of the hash function can be considered.
- AFC Manager verifies the AFC Certificate and confirms that the AFC User has the authority regarding the target AFC (step S153). Subsequently, the AFC Manager transfers the AFC Delete Request packet to the AFC Ingress (step S154).
- AFC Ingress verifies the AFC Certificate (step S155), confirms that the AFC User has the authority regarding the target AFC, and deletes the AFC setting (omitted in FIG. 7). Subsequently, the AFC Ingress returns the response packet to the AFC Manager (step S156). The AFC Manager transfers the response packet to the AFC User (step S157). As described above, only the authorized AFC User can delete the AFC.
- FIG. 8 is an explanatory diagram showing security measures in AF deletion.
- the AFC User, AFC Manager, and AFC Daemon share the AF Session Key regarding the AF to be deleted (step S161).
- the AFC User sends an AF delete request packet (AF Delete Request packet) containing an AF Certificate regarding the AF to be deleted to the AFC Manager (step S162).
- AF Delete Request packet an AF delete request packet
- a bit string obtained by applying a hash function to a bit string that is a concatenation of the AF identifier and the AF Session Key is considered.
- AFC Manager verifies the AF Certificate using the AF Session Key (step S163), and deletes the related information if the verification is successful (omitted in FIG. 8). Subsequently, the AFC Manager transfers the AF Delete Request packet to the AFC Daemon (step S164).
- AFC Daemon uses the AF Session Key to verify the AF Certificate (step S165), and if the verification is successful, deletes the AF and deletes related information (not shown in FIG. 8).
- AFC Ingress returns a response packet to AFC Manager (step S166).
- the AFC Manager transfers the response packet to the AFC User (step S167). As described above, only the authorized AFC User can delete the AF.
- FIG. 9 is an explanatory diagram showing a procedure when the AFC User-1 installs the AF-1 on the AF Node-1.
- the identifier of the AFC User-1 is USRID-1.
- the credential of AFC User-1 is set to USRCred-usr1.
- the name of the executable file of AF-1 is FName-af1.
- the parameter for executing AF-1 is Param-af1.
- the IP address of AF Node-1 is IP-afn1.
- AFC User-1 establishes a TLS connection with AFC Manager (step S171).
- the AFC User-1 transmits the AF Setup Request packet shown in FIG. 10 to the AFC Manager (step S172).
- the values of each field of the AF Setup Request packet are as follows. “AF Setup Request” is set in the Type field. USRID-1 is set in the User ID field. USRCred-usr1 is set in the User Credentials field. IP-afn1 is set in the AF Node IP Address field. FName-af1 is set in the AF File Name field. Param-af1 is set in the AF Parameters field.
- the AFC Manager When the AFC Manager receives the AF Setup Request packet, it sends the AA Request packet shown in FIG. 12 to the AAA Server (step S173).
- the values of each field of the AA Request packet are as follows. “AA Request” is set in the Type field. USRID-1, which is the value of the User ID field of the AF Setup Request packet, is set in the User ID field. USRCred-usr1, which is the value of the User Credential field of the AF Setup Request packet, is set in the User Credential field. In the AF Node IP Address field, IP-afn1 which is the value of the AF Node IP Address field of the AF Setup Request packet is set. FName-af1, which is the value of the AF File Name field of the AF Setup Request packet, is set in the AF File Name field.
- the AAA Server When the AAA Server receives the AA Request packet, it confirms whether User-1 has the authority to activate AF-1 in AF Node-1 using the value of the User Credentials field. If the confirmation is successful, the AA Server sends the AA Response packet shown in FIG. 13 to the AFC Manager (step S174).
- the values of each field of the AA Response packet are as follows. “AA Response” is set in the Type field. In the Status field, "OK" indicating success of authentication and authorization is set. USRID-1, which is the value of the User ID field of the AA Request packet, is set in the User ID field.
- the AFC Manager When the AFC Manager receives the AA Response packet, it knows the IP address of the AF Node-1 from the AF Node IP address field of the AF Setup Request packet, and establishes the TLS connection with the AFC Daemon-1-p on the AF Node-1. The process is started (step S175). Upon receiving the TLS connection establishment request, the AFC Daemon-1-p creates a child process, AFC Daemon-1 (step S176). The subsequent processing is performed by AFC Daemon-1. As a result, the TLS connection is established between the AFC Manager and the AFC Daemon-1 (step S177).
- AFC Manager assigns AFID-1 as an identifier to AF-1 and generates AFSKkey-af1 as a session key for AF-1.
- the AFC Manager sends the AF Invoke Request packet shown in FIG. 14 to the AFC Daemon-1 (step S178).
- the values of each field of the AF Invoke Request packet are as follows. “AF Invoke Request” is set in the Type field. USRID-1, which is the value of the User ID field of the AF Setup Request packet, is set in the User ID field. AFID-1 is set in the AF ID field. AFSKKey-af1 is set in the AF Session Key field.
- FName-af1 which is the value of the AF File Name field of the AF Setup Request packet, is set in the AF File Name field.
- Param-af1 that is the value of the AF Parameters field of the AF Setup Request packet is set.
- the AFC Daemon-1 When the AFC Daemon-1 receives the AF Invoke Request packet, the AFC Daemon-1 activates the executable file specified by the AF File Name field and sets it as AF-1 (step S179). At that time, AFC Daemon-1 connects the standard input and standard output of AF-1 to its own ports, InPt-af1 and OutPt-af1, respectively. Next, AFC Daemon-1 generates DPt-afcd1 as a port for transmitting / receiving AFC data packets, and CPt-afcd1 as a port for transmitting / receiving control packets.
- AFC Daemon-1 creates Daemon AF Table shown in FIG.
- the values of each field of Daemon AF Table are as follows. [null] is set in the ptr to next AF Table field.
- AFID-1 which is the value of the AF ID field of the AF Invoke Request packet is set in the AF ID field.
- InPt-af1 is set in the AF In Port field.
- OutPt-af1 is set in the AF Out Port field.
- USRID-1 which is the value of the USER ID field of the AF Invoke Request packet, is set in the User ID field.
- AFSKKey-af1 which is the value of the AF Session Key field of the AF Invoke Request packet is set.
- the AFC Daemon-1 transmits the AF Invoke Response packet shown in FIG. 15 to the AFC Manager (step S180).
- the values of each field of the AF Invoke Response packet are as follows. "AF Invoke Response" is set in the Type field. In the Status field, "OK" indicating success of processing is set. USRID-1, which is the value of the User ID field of the AF Invoke Request packet, is set in the User ID field. AFID-1 which is the value of the AF ID field of the AF Invoke Request packet is set in the AF ID field.
- DPt-afcd1 is set in the AFC Daemon Data Port field.
- CPt-afcd1 is set in the AFC Daemon Data Port field.
- the AFC Manager When the AFC Manager receives the AF Invoke Response packet, it creates the Manager User Table, the Manager AF Table and the Manager AF Node Table shown in FIG.
- each field of the Manager User Table is as follows. [null] is set in ptr to next User Table. USRID-1, which is the value of the User ID field of the AF Setup Request packet, is set in the User ID field. In the Time to Live field, TTL-usr1 which is the time until the setting information of AFC User-1 times out is set. A pointer to the AF Table is set in the ptr to AF Table field. [null] is set in the ptr to AFC Table field.
- each field of Manager AF Table is as follows. [null] is set in ptr to next AF Table. AFID-1 is set in the AF ID field. AFSKKey-af1 is set in the AF Session Key field. A pointer pointing to the Manager AF Node Table is set in the ptr to AF Node Table field.
- each field of Manager AF Node Table is as follows. [null] is set in ptr to next AF Node Table.
- IP-afn1 which is the value of the AF Node IP Address field of the AF Setup Request packet is set.
- DPt-afcd1 which is the value of the Daemon Data Port field of the AF Invoke Response packet is set.
- CPt-afcd1 which is the value of the Daemon Control Port field of the AF Invoke Response packet is set in the Daemon Control Port field.
- the AFC Manager Upon receiving the AF Invoke Response packet, the AFC Manager disconnects the TLS connection with the AFC Daemon-1 (step S181).
- the AFC Manager sends the AF Setup Response packet shown in FIG. 11 to the AFC User-1 (step S182).
- the values of each field of the AF Setup Response packet are as follows. “AF Setup Response” is set in the Type field. In the Status field, "OK" indicating success of processing is set. USRID-1, which is the value of the User ID field of the AF Setup Request packet, is set in the User ID field. AFID-1, which is the value of the AF ID field of the AF Invoke Response packet, is set in the AF ID field. AFSKKey-af1 is set in the AF Session Key field.
- the AFC User-1 Upon receiving the AF Setup Response packet, the AFC User-1 disconnects the TLS connection with the AFCManager (step S183).
- AFC Daemon-2 (Installation of AF-2 on AF Node-2 and installation of AF-3 on AF Node-3)
- the AFC User-1 installs AF-2 in AF Node-2 and AF-3 in AF Node-3 by the same procedure as above.
- the name of the executable file of AF-2 is FName-af2.
- the parameter for executing AF-2 is Param-af2. It is assumed that AFID-2 is assigned as the identifier of AF-2.
- the IP address of AF Node-2 is IP-afn2.
- An AFC Daemon that operates in AF Node-2 is referred to as an AFC Daemon-2.
- InPt-af2 and OutPt-af2 are assigned as ports for the AFC Daemon-2 to exchange data with AF-2. It is assumed that AFSKKey-af2 is generated as the AF Session Key for AF-2.
- the name of the executable file of AF-3 is FName-af3.
- the parameter for executing AF-3 is Param-af3. It is assumed that AFID-3 is assigned as the identifier of AF-3.
- the IP address of AF Node-3 is IP-afn3.
- An AFC Daemon that operates in AF Node-3 is referred to as an AFC Daemon-3.
- InPt-af3 and OutPt-af3 are assigned as ports for the AFC Daemon-3 to exchange data with the AF-3. It is assumed that AFSKKey-af3 is generated as an AF Session Key for AF-3.
- AFC Daemon-2 on AFC Node-2 and AFC Daemon-3 on AFC Node-3 hold Daemon AF Table shown in FIG. 18 and FIG. 19, respectively.
- AFC Manager also holds the table shown in FIG.
- FIG. 20 shows the Manager AF Table for AF-2, the Manager AF Table for AF-3, and the Manager AF Node Table and AF Node-3 for AF Node-2.
- the Manager AF Node Table is added.
- AFC User-1 has already installed AF-1, AF-2 and AF-3 at this point.
- the IP address of the server with which the COTS device communicates is IP-svr, and the port number used by the application on the server is Pt-svr.
- the IP address of AFC Ingress is IP-ingless.
- the IP address of AFC Egress is IP-egress. It is assumed that the AFC User-1 wants to apply a linear AFC of AF1 ⁇ AF3 (referred to as AFC-1) to a data packet whose end point IP address is IP-svr and end point port number is Pt-svr.
- FIG. 21 is an explanatory diagram showing the installation procedure of the AFC-1.
- FIG. 22 is an explanatory diagram showing the AFC-1 path.
- AFC User-1 establishes a TLS connection with AFC Manager (step S191).
- the AFC User-1 transmits the AFC Setup Request packet shown in FIG. 23 to the AFC Manager (step S192).
- the values of each field of the AFC Setup Request packet are as follows. "AFC Setup Request" is set in the Type field. USRID-1 is set in the User ID field. The following five fields are match fields for identifying the original data packet to which AFC is applied. If the values of the corresponding fields of the original data packet all match the values of this match field, AFC is applied to the original data packet. Since the value of the Source IP Address field is [any], the value of the starting point IP address of the original data packet satisfies the condition in any case.
- IP-svr Since the value of the Destination IP Address field is IP-svr, the condition is satisfied only when the value of the end point IP address of the original data packet is IP-svr. Since the value of the Source Port field is [any], the source port number of the original data packet satisfies the condition in any case. The value of the Destination Port field is Pt-svr, so the condition is satisfied only when the end port number of the original data packet is Pt-svr. Since the value of the Protocol field is UDP, the condition is satisfied only when the transport layer protocol of the data packet is UDP. Next, in the Ingress IP Address field, IP-ingress which is the IP address of AFC Ingress is set.
- IP-egress which is the IP address of AFC Egress
- the No of AFs field is set to 2, which is the number of AFs that make up the AFC.
- the next four fields contain information about AF-1.
- AFID-1 is set in the AF ID field.
- AFCert-af1 which is the certificate information generated by using AFSkey-af1 is set.
- CondLen-1 indicating the length of the Next Index field is set in the Next Index Length field.
- the Next Index field indicates that, regardless of the execution result of AF-1, AF (AF-3) with Index of 1 is the next.
- the following four fields that follow contain information about AF-3.
- AFID-3 is set in the AF ID field.
- AFCert-af3 which is the certificate information generated by using AFSKKey-af3 is set.
- CondLen-3 indicating the length of the Next Index field is set in the Next Index Length field.
- the value of the Next Index field indicates that, regardless of the execution result of AF-3, the AF with the Index of 2 is next. Since this value is equal to the value of the No of AFs field, Index of 2 means AFC Egress.
- AFC Manager When the AFC Manager receives the AFC Setup Request packet from the AFC User-1, the AFC User-1 detects AF-1 and AF-3 from the values of the AF Certificate field regarding AF-1 and the AF Certificate field regarding AF-3. Make sure you have the right to use. Next, AFC Manager assigns AFC ID-1 as an identifier to the AFC (AFC-1) to be installed. AFC Manager also generates AFC Skey-afc 1, which is key information shared with AFC User-1 regarding AFC-1.
- AFC Manager holds the table shown in FIG. This is the one shown in FIG. 20 with the addition of the Manager AFC Table and the Manager AF List.
- the value of each field of the Manager AFC Table is as follows. [null] is set in the ptr to next AFC Table field.
- AFCID-1 is set in the AFC ID field.
- IP-ingress is set in the Ingress IP Address field.
- AFCSKey-afc1 is set in the AFC Session Key field.
- a pointer to the Manager AF List is set in the ptr to AF List field.
- the value of each field of Manager AF List is as follows. The value of the No of AFs field is set to 2, which is the value of the No of AFs field of the AFC Setup Request packet.
- the values of the two AF ID fields of the AFC Setup Request packet, AFID-1 and AFID-3 are set in the following two fields.
- AFC Manager establishes a TLS connection with AFC Ingress (step S193).
- the AFC Manager sends the AFC Install Request packet shown in FIG. 26 to the AFC Ingress (step S194).
- the values of each field of the AFC Install Request packet are as follows. “AFC Install Request” is set in the Type field. USRID-1, which is the value of the User ID field of the AFC Setup Request packet, is set in the User ID field. AFCID-1 is set in the AFC ID field. AFCSKey-afc1 is set in the AFC Session Key field. The following five fields are match fields for identifying the data packet to which AFC is applied. Set the values of the corresponding fields of the AFC Setup Request packet in these fields. IP-ingress is set in the Ingress IP Address field.
- IP-egress is set in the Egress IP Address field.
- the No of AFs field is set to 2, which is the value of the No of AFs field of the AFC Setup Request packet.
- the following eight fields are information regarding AF-1.
- AFID-1 is set in the AF ID field.
- AFSKKey-af1 which is the value of the AF Session Key field of the Manager AF Table for AF-1 in the table shown in FIG. 20 is set.
- the value of the corresponding field of the received AFC Setup Request packet is set.
- the No of AF Nodes field indicates the number of AF Nodes in which AF-1 is installed.
- IP-afn1 which is the value of the AF Node IP Address field of the Manager AF Node Table for AF-1 in the table shown in FIG. 20 is set.
- AFC Daemon Data Port field DPt-afcd1 which is the value of the Daemon Data Port field of the Manager AF Node Table for AF-1 in the table shown in FIG. 20 is set.
- CPt-afcd1 which is the value of the Daemon Control Port field of the Manager AF Node Table for AF-1 in the table shown in FIG. 20 is set.
- the following eight fields are information regarding AF-3. These fields are set similarly to the information on AF-1.
- Ingress AFC Table is assigned for each AFC. [null] is set in the ptr to next AFC Table field. The value of the corresponding field of the AFC Install Request packet is set in the AFC ID field to the AFC Session Key field. The Sequence Number field is set to 0 as an initial value. In the ptr to AF Table field, a pointer to the Ingress AF Table related to the first AF that constitutes the AFC is set. Ingress AF Table is assigned for each AF.
- Ingress AF Table is assigned to AF-1 and AF-3, respectively.
- the values of each field of Ingress AF Table are as follows.
- a pointer to the ingress AF Table of AF-3 is set in the ptr to next AF Table field of AF-1 Ingress AF Table.
- [Null] is set in the ptr to next AF Table field of the AF-3 Ingress AF Table.
- the value of the corresponding field of the AFC Install Request packet is set.
- the Ingress AF Node Table is assigned to each AF Node.
- Ingress AF Node Table is assigned to AF Node-1 and AF Node-3, respectively.
- the value of each field is as follows.
- [null] is set in the ptr to next AF Node Table field.
- the value of the corresponding field of the AFC Install Request packet is set in the AF Node IP Address field to the Daemon Control Port field.
- the value of the Load field is indefinite ([undef]) at this point.
- the AFC Ingress sends the AFC Install Response packet shown in FIG. 27 to the AFC Manager (step S195).
- the values of each field of the AFC Install Response packet are as follows. “AFC Install Response” is set in the Type field. In the Status field, "OK" indicating success of processing is set. USRID-1, which is the value of the User ID field of the AFC Install Request packet, is set in the User ID field. In the AFC ID field, AFCID-1 which is the value of the AFC ID field of the AFC Install Request packet is set.
- the AFC Manager Upon receiving the AF Install Response packet, the AFC Manager disconnects the TLS connection with the AFC Ingress (step S196).
- the AFC Manager sends the AFC Setup Response packet shown in FIG. 24 to the AFC User-1 (step S197).
- the values of each field of the AFC Setup Response packet are as follows. “AFC Setup Response” is set in the Type field. In the Status field, "OK" indicating success of processing is set. USRID-1, which is the value of the User ID field of the AFC Setup Request packet, is set in the User ID field. In the AFC ID field, AFCID-1 which is the value of the AFC ID field of the AFC Setup Request packet is set. AFCSKey-afc1 is set in the AFC Session Key field.
- the AFC User-1 When the AFC User-1 receives the AFC Setup Response packet from the AFC Manager, it disconnects the TLS connection with the AFC Manager (step S198).
- FIG. 29 is an explanatory diagram showing a packet flow when the application on the COTS device transmits the original data packet shown in FIG. 30 to the application on the Server.
- the IP address of the COTS device is IP-cots, and the port number used by the application on the COTS device is Pt-cots.
- the IP address of the Server is IP-svr, and the port number used by the application on the Server is Pt-svr.
- the IP header shows only the start point IP address field and the end point IP address field
- the UDP header shows only the start point port field and the end point port field.
- the application on the COTS device transmits the original data packet (step S201).
- the AFC Ingress When the AFC Ingress receives the original data packet sent from the application on the COTS device, it compares the value of the match field of the Ingress AFC Table shown in FIG. 28 with the received data packet field. As a result, it can be seen that this original data packet matches the Ingress AFC Table in which the value of the AFC ID field is AFCID-1, so the AFC Ingress has the IP header and UDP header at the beginning of the original data packet as shown in FIG. And add AFC header and generate AFC data packet. In the IP header, the Src IP field is set with IP-ingress which is the IP address of AFC Ingress.
- IP-afn1 that is the value of the AF Node IP Address field of the lower left Ingress AF Node Table shown in FIG. 28 is set.
- Src Port field is set to DPt-ingress which is the port number for AFC Ingress data packet.
- DPt-afcd1 that is the value of the Daemon Data Port field of the lower left Ingress AF Node Table shown in FIG. 28 is set.
- the value of each field of the AFC header is set as follows with reference to the table shown in FIG.
- AFCID-1 which is the value of the AFC ID field of Ingress AFC Table is set.
- the value of the Sequence Number field of the Ingress AFC Table is set, and the value of the Sequence Number field of the Ingress AFC Table is incremented.
- the time when AFC Ingress transmits an AFC data packet is set in the Ingress Out Timestamp field.
- the No of AFs field is set to 2, which is the value of the No of AFs field of Ingress AFC Table. 0 is set in the AF Index field.
- the following eight fields are for AF-1.
- the values of the corresponding fields of Ingress AF Node Table are set.
- the values of the corresponding fields of Ingress AF Table are set.
- the AF Certificate field the AF Certificate generated using the AF Session Key field of Ingress AF Table is set.
- the values of the In Timestamp field and the Out Timestamp field are undecided ([undef]).
- the value of the field related to AF-2 is set in the same manner.
- the above AFC data packet reaches AFC Daemon-1 according to the end address of the IP header and the end port number of the UDP header (step S202).
- AFC Daemon-1 should apply the AF (AF-1) whose identifier is AFID-1 to the original data packet included in the received AFC data packet. Recognize.
- the AFC Daemon-1 calculates the AF certificate using the value of the AF Session Key field of the AF Table shown in FIG. 16, and compares this value with the value of the AF Certificate field of the AFC header. If both match, it can be confirmed that this data packet is a regular packet to which AFC should be applied.
- AFC Daemon-1 recognizes that it is a legitimate packet to which AFC should be applied, it calls AF-1.
- AFC Daemon-1 searches for Daemon AFC Table, but AFC Daemon-1 does not hold Daemon AFC Table at this point. Therefore, AFC Daemon-1 creates Daemon AFC Table shown in FIG.
- the value of each field is as follows. [null] is set in the ptr to next AFC Table field.
- AFCID-1 which is the value of the AFC ID field of the AFC header, is set in the AFC ID field.
- Sequ-afc1 which is the value of the Sequence Number field of the AFC header, is set in the Sequence Number field.
- the received AFC data packet Determines that it is due to a replay attack, and AFC Daemon-1 discards the received AFC data packet.
- the AFC Daemon-1 inputs the received original data packet to the calling AF-1 from the port indicated by the AF In Port field of the Daemon AF Table shown in FIG. 16 (step S203).
- the AFC Daemon-1 receives the original data packet processed by the AF-1 from the port indicated by the AF Out Port field of the Daemon AF Table. Since the value of the Next Index field of the AFC header specifies that the Index of the next AF is 1 (AF-3) regardless of the execution result of AF-1, the AFC Daemon-1 has the AF-3 of the next AF. Know that.
- AFC Daemon-1 refers to the field related to AF-3 in the AFC header, and sets the value AF-afn3 of the AF Node IP Address field related to AF-3 in the AFC header in the Dst IP field of the IP header.
- AFC Daemon-1 sets DPt-afcd3, which is the value of the AFC Daemon Data Port field related to AF-3 of the AFC header, in the Dst Port field of the UDP header. Furthermore, AFC Daemon-1 increments the value of the AF Index field. As a result, the header of the AFC data packet becomes as shown in FIG.
- AFC Daemon-1 transmits this AFC data packet (step S204).
- the AFC Daemon-1 sets the time when the AFC data packet is received in the In Timestamp field related to AF-1 of the AFC header, and the time when the AFC data packet is transmitted in the Out Timestamp field.
- This AFC data packet reaches AFC Daemon-3 according to the end address of the IP header and the end port number of the UDP header.
- the AFC Daemon-3 uses the AF (AF-3) whose identifier is AFID-3 as the original data packet included in the received AFC data packet. Recognize that it applies. As with AFC Daemon-1, AFC Daemon-3 confirms that the AFC data packet is legitimate and not a replay attack, then calls AF-3 and applies AF-3 to the original data packet ( Step S205). The value of the Next Index field for AF-3 of the AFC header specifies that the Index of the next AF is 2 regardless of the execution result of AF-3.
- AFC Daemon-3 sets the value of the AFC Egress IP Address field of the AFC header in the Dst IP field of the IP header, and the well-known port DPt-egress for the AFC Egress data packet is the Dst Port field of the UDP header. Set to. Furthermore, AFC Daemon-3 increments the value of the AF Index field. As a result, the header of the AFC data packet becomes as shown in FIG.
- AFC Daemon-3 transmits this AFC data packet (step S206). At that time, the AFC Daemon-3 sets the time when the AFC data packet is received in the In Timestamp field related to AF-3 of the AFC header, and the time when the AFC data packet is transmitted in the Out Timestamp field. This AFC data packet reaches AFC Egress according to the end address of the IP header and the end port number of the UDP header.
- the AFC Egress extracts the original data packet shown in FIG. 30 from the received AFC data packet and transfers it to the application (step S207).
- the original data packet reaches the application on the Server according to the end address of the IP header and the end port number of the UDP header.
- FIG. 35 is an explanatory diagram showing a path of AFC-2.
- the AFC User-1 sends the AFC Setup Request packet shown in FIG. 36 to the AFC Manager in the same manner as the procedure shown in FIG.
- the AFC Manager receives the AFC Setup Request packet
- the AFC Manager sends the AFC Install Request packet shown in FIG. 38 to the AFC Ingress.
- the AFC Ingress Upon receiving the AFC Install Request packet, the AFC Ingress sends the AFC Install Response packet shown in FIG. 39 to the AFC Manager.
- the AFC Manager When the AFC Manager receives the AFC Install Response packet, the AFC Manager sends the AFC Setup Response packet shown in FIG. 37 to the AFC User-1.
- AFC Manager retains the table shown in FIG. Compared with FIG. 5, in FIG. 40, the Manager AFC Table and the manager AF LIST regarding AFC-2 are added.
- AFC Ingress also holds the table shown in FIG. Compared with FIG. 28, ingress AFC Table for AFC-2 and Ingress AF Table and Ingress AF Node Table for AFs (AF-1, AF-2, AF-3) composing AFC-2 are added to FIG. ing.
- the IP address of COTS device is IP-cots, and the port number used by the application on COTS device is Pt-cots.
- the IP address of the server is IP-svr2, and the port number used by the application on the server is Pt-svr2.
- the IP header shows only the start point IP address field and the end point IP address field
- the UDP header shows only the start point port field and the end point port field.
- AFC Ingress compares the value of the match field of Ingress AFC Table shown in FIG. 41 with the received original data packet field. As a result, it can be seen that this original data packet matches the Ingress AFC Table in which the value of the AFC ID field is AFCID-2. Therefore, as shown in FIG. 43, the AFC Ingress has an IP header and a UDP header at the beginning of the original data packet. And add an AFC header. The value of each field of these headers is set in the same manner as the procedure described above (application of AFC-1 to data packet). The above data packet reaches AFC Daemon-1 according to the end address of the IP header and the end port number of the UDP header.
- AFC Daemon-1 inputs the original data packet to AF-1 and obtains output data.
- the index of the next AF is 2 (AF-3).
- the header shown in FIG. 44 is generated in the same manner as the procedure described above (application of AFC-1 to data packet).
- AFC Daemon-1 sends this packet.
- This packet reaches AFC Daemon-3 according to the end address of the IP header and the end port number of the UDP header.
- AFC Daemon-3 applies AF-3 to the original data packet.
- the index of the next AF is 1 (AF-2).
- AFC Daemon-2 applies AF-2 to the original data packet, and subsequently AFC Daemon-3 applies AF-3 to the original data packet.
- the AFC data packet reaches AFC Egress, and finally the original data packet reaches the application on the Server.
- FIG. 45 is an explanatory diagram showing deletion of AFC.
- AFC User-1 establishes a TLS session with AFC Manager (step S211).
- the AFC User-1 transmits the AFC Delete Request packet shown in FIG. 46 to the AFC Manager (step S212).
- the values of each field of the AFC Delete Request message are as follows. Set "AFC Delete Request" in the Type field. Set USRID-1 in the User ID field. AFCID-2 is set in the AFC ID field. In the AFC Certificate field, AFCcert-afc2, which is the certificate information generated using the AFCCSkey-afc2 obtained by receiving the AFC Setup Response packet shown in FIG. 37, is set.
- the AFC Manager When the AFC Manager receives the AFC Delete Request packet, it knows the IP address of the AFC Ingress from the Manager AFC Table shown in FIG. 40 and establishes a TLS connection with the AFC Ingress (step S213).
- the AFC Manager transfers the received AFC Delete Request packet to the AFC Ingress (step S214).
- AFC Ingress When AFC Ingress receives the AFC Delete Request packet, it deletes the table related to AFC-2 from the table shown in FIG. 41. As a result, AFC Ingress holds the table shown in FIG.
- the AFC Ingress sends the AFC Delete Response packet shown in FIG. 47 to the AFC Manager (step S215).
- the values of each field of the AFC Delete Response packet are as follows. "AFC Delete Response" is set in the Type field. In the Status field, "OK" indicating success of processing is set. USRID-1, which is the value of the User ID field of the AFC Delete Request packet, is set in the User ID field.
- AFCID-2 which is the value of the AFC ID field of the AFC Delete Request packet, is set in the AFC ID field.
- AFC Manager When the AFC Manager receives the AFC Delete Response packet, it deletes the table related to AFC-2 from the table shown in FIG. As a result, AFC Manager holds the table shown in FIG.
- AFC Manager disconnects the TLS connection with AFC Ingress (step S216).
- the AFC Manager transfers the received AFC Delete Response packet to the AFC User-1 (step S217).
- the AFC User-1 Upon receiving the AFC Delete Response packet, the AFC User-1 disconnects the TLS connection with the AFC Manager (step S218).
- FIG. 48 is an explanatory diagram showing deletion of AF.
- AFC User-1 establishes a TLS connection with AFC Manager (step S221).
- the AFC User-1 transmits the AF Delete Request packet shown in FIG. 49 to the AFC Manager (step S222).
- the values of each field of the AF Delete Request packet are as follows. “AF Delete Request” is set in the Type field. USRID-1 is set in the User ID field. AFID-2 is set in the AF ID field. In the AF Certificate field, AFCert-af2, which is the certificate information generated by using the AFKey-af2 obtained by the AF Setup Response packet received when the AF-2 is set, is set.
- the AFC Manager Upon receiving the AF Delete Request packet, the AFC Manager confirms that the Manager AF List shown in FIG. 25 does not include AFID-2. Next, the AFC Manager learns the IP address of the AFC Daemon-2 from the Manager AF Node Table and establishes a TLS connection with the AFC Daemon-2 (step S223).
- the AFC Manager transfers the received AF Delete Request packet to the AFC Daemon-2 (step S224).
- the AFC Daemon-2 Upon receiving the AF Delete packet, the AFC Daemon-2 stops the execution of AF-2 (step S225).
- the AFC Daemon-2 transmits the AF Delete Response packet shown in FIG. 50 to the AFC Manager (step S226).
- the values of each field of the AF Delete Response packet are as follows. “AF Delete Response” is set in the Type field. In the Status field, "OK" indicating success of processing is set. USRID-1, which is the value of the User ID field of AF Delete Request, is set in the User ID field. AFID-2, which is the value of the AF ID field of AF Delete Request, is set in the AF ID field.
- the AFC Manager Upon receiving the AF Delete Response packet, the AFC Manager disconnects the TLS connection with the AFC Daemon-2 (step S227). As a result, since there is no AF operating on AFC Daemon-2, AFC Daemon-2 also terminates execution. On the other hand, AFC Manager deletes the table related to AF-2 from the table shown in FIG. As a result, AFC Manager retains the table shown in FIG.
- the AFC Manager transfers the received AF Delete Response packet to the AFC User-1 (step S228).
- the AFC User-1 Upon receiving the AFC Delete Response packet, the AFC User-1 disconnects the TLS connection with the AFC Manager (step S229).
- AFC User-1 has installed AF-5 in AF Node-5-1 and AF Node-5-2.
- the AFC User-1 learns that AFID-5 has been assigned as the identifier of AF-5, and obtains AFSKKey-af5 as the AF Session Key.
- AF Node-4-1, AF Node-4-2, AF Node-5-1, and AF Node-5-2 hold the tables shown in FIGS. 53 to 56, respectively, and AFC Manager shows in FIG. 57. Hold the table.
- the two Manager AF Tables each have a list consisting of two Manager AF Node Tables. These four Manager AF Node Tables correspond to AF Node-4-1, AF Node-4-2, AF Node-5-1 and AF Node-5-2, respectively.
- FIG. 52 is an explanatory diagram showing the AFC-3 path.
- FIG. 58 is an explanatory diagram showing an AFC Setup Request packet.
- the values of each field of the AFC Setup Request packet are as follows. “AFC Setup Request” is set in the Type field. USRID-1 is set in the User ID field. The following five fields are match fields for identifying the data packet to which AFC is applied.
- the value of the Source IP Address field is [any].
- the value of the Destination IP Address field is IP-svr3.
- the value of the Source Port field is [any].
- the value of the Destination Port field is Pt-svr3.
- the value of the Protocol field is UDP.
- IP-ingress which is the IP address of AFC Ingress is set.
- IP-egress which is the IP address of AFC Egress, is set.
- No of AFs field 2 is set, which is the number of AFs forming the AFC.
- the next four fields contain information about AF-4.
- AFID-4 is set in the AF ID field.
- AFCert-af4 which is the certificate information generated by using AFSKKey-af4 is set.
- CondLen-4 indicating the length of the Next Index field is set in the Next Index Length field.
- the Next Index field indicates that, regardless of the execution result of AF-4, the next AF is AF (AF-5) having an Index of 1.
- the next four fields contain information about AF-5.
- AFID-5 is set in the AF ID field.
- AFCert-af5 which is the certificate information generated using AFSKKey-af5
- CondLen-5 indicating the length of the Next Index field is set.
- the Next Index field indicates that AF (AF Egress) having an Index of 2 is the next regardless of the execution result of AF-5.
- the AFC Manager assigns AFCID-3 as an identifier to AFC-3.
- FIG. 60 is an explanatory diagram showing an AFC Install Request packet.
- the values of each field of the AFC Install Request packet are as follows. “AFC Install Request” is set in the Type field. From the User ID field to the No of AFs field, the value of the corresponding field of the AFC Setup Request packet is set. The eleven fields that follow are for AF-4.
- Set AFID-4 which is the value of the AF ID field of the AFC Setup Request packet, in the AF ID field.
- AFSKKey-af4 that is the value of the AF Session Key field of the Manager AF Table shown in FIG. 57 is set.
- the value of the corresponding field of the AFC Setup Request packet is set in the Next Index Length field and the Next Index field. Since the Manager AF Table shown in FIG. 57 has two Manager AF Node Tables, 2 is set in the No of AF Nodes field. The next three fields are for AF Node-4-1. In the AF Node IP Address field, AFC Daemon Data Port field and AFC Daemon Control Port field, the values of the corresponding fields of the Manager AF Node Table shown in FIG. 57 are set. The next three fields are for AF Node-4-2. Each field is set similarly to the field for AF Node-4-1. The eleven fields that follow are for AF-5. These fields are set similar to the fields for AF-4.
- FIG. 61 is an explanatory diagram illustrating an AFC Install Response packet corresponding to the above AFC Install Request packet.
- FIG. 59 is an explanatory diagram showing an AFC Setup Response packet corresponding to the above AFC Setup Request packet.
- AFC Manager retains the table shown in FIG. As shown in FIG. 62, two Manager AF Tables each have a list consisting of two Manager AF Node Tables. On the other hand, AFC Ingress holds the table shown in FIG. As shown in FIG. 63, each of the two Ingress AF Tables has a list including two Ingress AF Node Tables.
- FIG. 64 is an explanatory diagram showing the monitoring of the load on the AF Node by AFC Ingress.
- the AFC Ingress sends the Load Monitoring Request packet shown in FIG. 65 to the AF Node-4-1 (step S231).
- "Load Monitoring Request” is set in the Type field of the Load Monitoring Request packet.
- the AFC Daemon-4-1 When the AFC Daemon-4-1 receives the Load Monitoring Request packet, the AFC Daemon-4-1 transmits the Load Monitoring Response packet shown in FIG. 66 to the AFC Ingress (step S232).
- the values of each field of the Load Monitoring Response packet are as follows. In the Type field, "Load Monitoring Response" is set. In the Status field, "OK” indicating success of processing is set. LD-4-1, which is a numerical value indicating the degree of load on the AF Node-4-1, is set in the Load field.
- AFC Ingress performs the same processing as above on AF Node-4-2, AF Node-5-1 and AF Node-5-2 (steps S233, S235, S237).
- AF Node-4-2, AF Node-5-1 and AF Node-5-2 perform the same processing as AF Node-4-1 (steps S234, S236, S238).
- the AFC Ingress receives the Load Monitoring Response, it sets the value of the Load field in the Load field of the Ingress AF Node Table, as shown in FIG. 67.
- AFC Ingress periodically repeats the above processing. This allows AFC Ingress to periodically acquire the load of each AF Node and update the load information.
- the monitored load for example, CPU usage rate of each AF Node, memory usage rate, storage medium usage rate, temperature, number of running AFs, network interface usage rate, network interface data throughput, network
- the packet discard amount of the interface, the traffic amount of the network interface, etc.
- the load related to the network interface may be monitored by distinguishing between transmission and reception. When the AF Node has multiple network interfaces, monitoring may be performed separately for each network interface. Further, the fields of the Load Monitoring Request packet or the Load Monitoring Response packet may be set for multiple load items.
- IP address of the COTS device is IP-cots
- the port number used by the application on the COTS device is Pt-cots
- the IP address of the server is IP-svr3, and the port number used by the application on the server is Pt-svr3.
- the IP header shows only the start point IP address field and the end point IP address field
- the UDP header shows only the start point port field and the end point port field.
- AFC Ingress compares the value of the match field of Ingress AFC Table shown in FIG. 67 with the field of the received data packet. As a result, it can be seen that this original data packet matches the Ingress AFC Table whose AFC ID field value is AFCID-3. Therefore, the AFC Ingress has an IP header and a UDP header at the beginning of the original data packet as shown in FIG. 69. And an AFC header are added to generate an AFC data packet. In the IP header, the Src IP field is set with IP-ingress which is the IP address of AFC Ingress. Regarding the value of the Load field of two Ingress AF Node Tables related to AF-4 shown in FIG.
- LD-4-1 has a smaller value than LD-4-2.
- the load on AF Node-4-1 is lower than the load on AF Node-4-2.
- the load on AF Node-5-1 is lower than the load on AF Node-5-2. Therefore, AFC Ingress selects AF Node-4-1 as the AF Node of AF-4 and AF Node-5-1 as the AF Node of AF-5.
- IP-afn4-1 which is the IP address of AF Node-4-1 is set.
- the Src Port field is set to DPt-ingress which is the port number for AFC Ingress data packet.
- DPt-afcd4-1 which is the AFC data packet transmission / reception port number of AFC Daemon-4-1 is set.
- the value of each field of the AFC header is set in the same manner as the procedure described in (application of AFC-1 to data packet).
- the above AFC data packet reaches AFC Daemon-4-1 according to the end point address of the IP header and the end point port number of the UDP header.
- AFC Daemon-4-1 applies AF-4 to the original data packet and obtains output data in the same manner as the procedure described in (application of AFC-1 to data packet).
- AFC Daemon-4-1 generates the header shown in FIG. 70 and transmits this packet.
- the above AFC data packet reaches AFC Daemon-5-1 according to the end point address of the IP header and the end point port number of the UDP header.
- AFC Daemon-5-1 applies AF-5 to the original data packet and obtains output data in the same manner as the procedure described in (Applying AFC-1 to data packet).
- AFC Daemon-5-1 generates the header shown in FIG.
- the above AFC data packet reaches AFC Egress according to the end address of the IP header and the end port number of the UDP header.
- the AFC Egress extracts the original data packet from the received AFC data packet and sends this original data packet to the Server.
- AFC Egress Since the Feedback flag is set in the Flags field of the AFC header, AFC Egress establishes a TLS connection with AFC Ingress (step S248), and sends the AFC Feedback packet shown in FIG. 73 to AFC Ingress (step S249). ), Finally, the TLS connection with AFC Ingress is disconnected (step S250).
- the values of each field of the AFC Feedback packet are as follows.
- the value of the Type field is "AFC Feedback".
- the value of the AFC ID field is AFCID-3.
- the value of the No of AFs field is 2.
- the next four fields are related to AF Node-4-1.
- the value of the AF ID field is AFID-4.
- the value of AF Node IP Address is IP-afn4-1.
- the values of the In Timestamp field and Out Timestamp field of the corresponding AF of the AFC header of the received AFC data packet are set, respectively.
- the following four fields relate to AF Node-5-1 and are set as above.
- the value of the corresponding field of the received AFC data packet is set in the Ingress Out Timestamp field.
- the time when AFC Egress receives the AFC data packet is set in the Egress In Timestamp field.
- the values of each field of Ingress AFC Path List Table are as follows.
- the value of the AFC ID field is AFCID-3.
- the value of the No of AFs field is 2.
- the value of the ptr to AFC Path List Entry field is a pointer to Ingress AFC Path list Entry.
- the value of the Ingress Out Timestamp field is TSout-ingress which is the value of the corresponding field of the AFC Feedback packet.
- the value of the Egress In Timestamp field is TSin-egress, which is the value of the corresponding field of the AFC Feedback packet.
- the value of ptr to Next AFC Path List Table is [null].
- each field of Ingress AFC Path List Entry are as follows.
- AFC Ingress allocates AFCPID-afc3-1 as the identifier of the AFC path that is the target of the AFC Feedback packet, and stores this in the AFC Path ID field.
- the value of ptr to AF Node TS Table is a pointer to Ingress AF Node TS Table.
- the value of ptr to Next AFC Path List Entry is [null].
- the left one relates to AF Node-4-1 and the right one relates to AFNode-5-1.
- each field of Ingress AF Node TS Table related to AF Node-4-1 are as follows.
- the value of the ptr to Next AF Node TS Table field is a pointer to the AF Node TS Table related to AF Node-5-1.
- the value of the AF ID field is AFID-4.
- the value of the AF Node IP Address field is IP-afn4-1, which is the IP address of AF Node-4-1.
- the value of the In Timestamp field is TSin-afn4-1 which is the value of the corresponding In Timestamp field of the AFC Feedback packet.
- the value of the Out Timestamp field is TSout-afn4-1 which is the value of the corresponding Out Timestamp field of the AFC Feedback packet.
- each field of Ingress AF Node TS Table related to AF Node-5-1 are as follows.
- the value of the ptr to Next AF Node TS Table field is [null].
- the value of the AF ID field is AFID-5.
- the value of the AF Node IP Address field is IP-afn5-1, which is the IP address of AF Node-5-1.
- the value of the In Timestamp field is TSin-afn5-1 which is the value of the corresponding In Timestamp field of the AFC Feedback packet.
- the value of the Out Timestamp field is TSout-afn5-1 which is the value of the corresponding Out Timestamp field of the AFC Feedback packet.
- AFC Ingress there are four AFC paths in AFC-3, so when AFC Ingress receives the AFC Feedback packet for each AFC path, it updates the corresponding Ingress AF Node TS Table.
- AFC Ingress may refer to Ingress AFC Path List Table and select an AFC path.
- the communication time of the entire AFC path can be considered.
- only the AF processing time may be taken into consideration. It is also possible to consider only the communication time between each node.
- the processing time of a specific AF and the communication time between specific nodes can be combined.
- the AFC Manager decrements the value of the Time to Live field of the Manager User Table at regular intervals (eg, 1 minute interval). As a result of decrementing, when the value of the Time to Live field becomes 0 (timeout), all the tables related to the corresponding AFC User are deleted. In the above-mentioned state, when the value of the TTL-usr1 field of the Manager User Table for AFC User-1 becomes 0, the AFC Manager erases all the tables for AFC User-1.
- FIG. 75 is an explanatory diagram showing a process of extending the time until the timeout by the AFC User-1.
- AFC User-1 establishes a TLS connection with AFC Manager (step S251).
- the AFC User-1 transmits the Timeout Extension Request packet shown in FIG. 76 to the AFC Manager (step S252).
- the values of the fields of the Timeout Extension Request packet are as follows. "Timeout Extension Request" is set in the Type field. USRID-1 is set in the User ID field. In the AF ID field, the AFC User-1 selects one from the AFs that have been installed at this point, and its identifier is set. In this example, it is AFID-4. In the AF Certificate field, AFCert-af4, which is the certificate information generated using AFSKKey-af4, is set. The desired new timeout value TTL-usr1-2 is set in the Time to Live field.
- the AFC Manager When the AFC Manager receives the Timeout Extension Request packet, it verifies the value of the AF Certificate field. If the verification is successful, the AFC Manager checks the value of the Time to Live field and determines a new allowable TIME-OUT value TTL-usr1-3. Next, the AFC Manager sends the Timeout Extension Response packet shown in FIG. 77 to the AFC User-1 (step S253).
- the values of each field of the Timeout Extension Response packet are as follows. “Timeout Extension Response” is set in the Type field. In the Status field, "OK" indicating success of processing is set. USRID-1, which is the value of the User ID field of the Timeout Extension Request packet, is set in the User ID field. In the Time to Live field, TTL-usr1-3, which is a new allowable out value, is set.
- the AFC User-1 Upon receiving the Timeout Extension Response packet, the AFC User-1 disconnects the TLS connection with the AFC Manager (step S254).
- FIG. 78 is an explanatory diagram illustrating a functional configuration example of the communication device 100 that can function as each node according to the embodiment of the present disclosure.
- the communication device 100 shown in FIG. 78 includes a communication unit 110, a storage unit 120, and a control unit 130.
- the communication unit 110 executes communication between nodes. Communication between nodes may be wired or wireless. From the communication unit 110, the above-described packets and messages are transmitted from a predetermined port and received at a predetermined port with another node under the control of the control unit 130.
- the storage unit 120 stores various information and programs used in the above-described AFC architecture.
- the storage unit 120 stores the various tables described above.
- the storage unit 120 can be configured with various memories, an HDD, and the like.
- the control unit 130 is composed of a processor such as a CPU, and executes processing based on the AFC architecture described above. For example, the control unit 130 sets a path to a target node, performs communication processing with the target node, processes when an AF node is added, changed, or deleted, starts AFC-daemon, Executes the AF function, etc. That is, the control unit 130 generates a message for newly setting AF when the route between the AFC Ingress and the AFC Egress changes. This change may be, for example, a change in the case of branching a route from AFC Ingress to AFC Egress. Further, this change may be, for example, a case where an AF node is deleted between AFC Ingress and AFC Egress.
- control unit 130 adds an AFC header to the packet sent from the COTS device if the own device is AFC Ingress, and deletes the AFC header from the packet to which the AFC header is added if the own device is AFC Egress. Execute the process.
- each step in the processing executed by each device in this specification does not necessarily have to be processed in time series in the order described as a sequence diagram or a flowchart.
- each step in the process executed by each device may be processed in an order different from the order described as the flowchart, or may be processed in parallel.
- the effects described in the present specification are merely explanatory or exemplifying ones, and are not limiting. That is, the technique according to the present disclosure may have other effects that are apparent to those skilled in the art from the description of the present specification, in addition to or instead of the above effects.
- AFC Ingress may double as the first AF Node on the AFC path. That is, the AFC Ingress and the first AF Node on the path of the AFC path may be physically or logically configured as the same communication device.
- this communication device receives a packet
- first as the operation of AFC ingress, after adding header information in which the route information between AFC Ingress and AFC Egress is described to the packet, AF Node To perform the operation.
- AFC Ingress and AFC Node are configured as the same communication device, a part of the operation of AFC Ingress may be omitted.
- the operation of sending a packet to another node as AFC Ingress may be omitted and the operation as AF Node may be performed.
- a part of the operation of the AF Node may be omitted.
- the AFC Egress and the last AF Node on the route may be physically or logically configured as the same communication device.
- this communication device receives a packet, after first performing the operation as AF Node, as the operation of AFC Egress, a header in which the route information between AFC Ingress and AFC Egress is described. Remove information from the packet.
- AFC Egress and AFC Node are configured as the same communication device, part of the operation of AFC Egress may be omitted.
- the operation of sending a packet to another node as the AF Node may be omitted and the operation as the AFC Egress may be performed.
- part of the operation of the AF Node may be omitted.
- a communication unit that performs communication with other nodes
- a control unit for controlling communication by the communication unit Equipped with In the packet directed by the transmission source node to the transmission destination node, the control unit has at least route information between the own device located at the latter stage of the transmission source node and the destination node located at the front stage of the transmission destination node.
- a communication device that adds the described header information and sends it to the communication unit toward other nodes existing in the route.
- the route information between the own device and the destination node includes at least information related to communication with at least one relay node existing between the destination node, information on a function to be executed by the relay node, and The communication device according to (1), in which the content of the processing according to the execution result of the function in the relay node is described.
- the communication device according to (2) wherein the content of the process is selection of a node next to the relay node.
- certificate information in the relay node is further described in route information between the own device and the destination node.
- the route information from the start node to the own device includes at least information about communication with at least one relay node existing up to the own device, information on a function to be executed by the relay node, and the relay.
- the communication device according to (6) in which the content of processing according to the execution result of the function in the node is described.
- a communication unit that performs communication with other nodes, A control unit for controlling communication by the communication unit, Equipped with The control unit describes at least route information from a start node located in the latter stage of the source node to a destination node located in the former stage of the destination node in a packet directed from the source node to the destination node.
- a communication device that determines the next node by referring to the data with the added header information, and causes the communication unit to send the data to the determined next node.
- the route information between the start node and the destination node includes at least information related to communication with at least one relay node existing between the start node and the destination node, and a function to be executed by the relay node.
- the communication device according to (8) in which the information of (1) and the content of processing according to the execution result of the function in the relay node are described.
- the communication device according to (9), wherein the content of the process is selection of a node next to the relay node.
- a communication unit that performs communication with other nodes A control unit for controlling communication by the communication unit, Equipped with The control unit generates route information between a start node and a destination node,
- the start node is a node that adds header information describing at least route information between the start node and the destination node
- the target node is a node that deletes the header information
- the route information between the start node and the destination node is at least information related to communication with at least one relay node existing between the start node and the destination node, and a function to be executed by the relay node.
- a communication device in which information and content of processing according to an execution result of the function in the relay node are described.
- a communication unit that performs communication with other nodes A control unit for controlling communication by the communication unit, The control unit is used in a communication device, in which a source node adds header information to a packet directed to a destination node and sends the packet to the communication unit, As the header information, at least path information between a start node located after the source node between the start node and the destination node and a destination node located before the destination node is provided, and a data structure is provided. .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
他のノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部と、を備え、前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する自装置と、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して、経路中に存在する他のノードへ向けて前記通信部に送出させる、通信装置が提供される。
Description
本開示は、通信装置、通信方法及びデータ構造に関する。
ネットワーク事業者やサービス提供者の観点から、必要に応じてネットワーク内を転送されるパケットを元々のパケットの転送経路に含まれないサーバ機器に転送し、サーバ機器上で動作するサービス機能(Service Function:SF)をパケットに作用させることをService Function Chaining(SFC)と呼ぶ。SFとしては、Network Address Translation(NAT)、Load Balancer、Web Application Firewall(WAF)などが挙げられる。
非特許文献1には、SFCのアーキテクチャが記載されている。また特許文献1には、仮想化されたネットワークサービス機能の可用性を高めるため、装置やリンクの障害検知および障害復旧を自律分散的に行う方法が記載されている。
J. Halpern and C. Pignataro. Service Function Chaining (SFC) Architecture, October 2015. RFC 7665.
SFCでは、ネットワーク事業者やサービス提供者の観点でWAFやLoad BalancerなどのSFが用意されている。すなわち、ネットワーク事業者やサービス提供者の意向によりどのようなパケットをSFCの対象とするかを決めているものである。
そこで、本開示では、ネットワーク内でパケットを転送させるサービスにおいて、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることが可能な、新規かつ改良された通信装置、通信方法及びデータ構造を提案する。
本開示によれば、他のノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部と、を備え、前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する自装置と、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して、経路中に存在する他のノードへ向けて前記通信部に送出させる、通信装置が提供される。
また本開示によれば、他のノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部と、を備え、前記制御部は、送信元ノードが送信先ノードへ向けたパケットに付加された、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する自装置までの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記通信部に送出させる、通信装置が提供される。
また本開示によれば、他のノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部と、を備え、前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを前記通信部に送出させる、通信装置が提供される。
また本開示によれば、他のノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部と、を備え、前記制御部は、開始ノードと目的ノードとの間の経路情報を生成し、前記開始ノードは、前記開始ノードと前記目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加するノードであり、前記目的ノードは、前記ヘッダ情報を削除するノードであり、前記開始ノードと前記目的ノードとの間の経路情報は、少なくとも、前記開始ノードと前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、通信装置が提供される。
また本開示によれば、他のノードとの間の通信を実行することと、前記他のノードとの間の通信を制御することと、を備え、前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して経路中に存在する他のノードへ向けて送出させる、通信方法が提供される。
また本開示によれば、他のノードとの間の通信を実行することと、前記他のノードとの間の通信を制御することと、を備え、前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記他のノードへ向けて送出させる、通信方法が提供される。
また本開示によれば、他のノードとの間の通信を実行することと、前記他のノードとの間の通信を制御することと、を備え、前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを送出させる、通信方法が提供される。
また本開示によれば、他のノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部と、前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、ヘッダ情報を追加して前記通信部に送出させる、通信装置で用いられ、前記ヘッダ情報として、開始ノードと目的ノードとの間の前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも備える、データ構造が提供される。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.本開示の実施の形態
1.1.SFCのアーキテクチャ例
1.2.AFCの具体的説明
1.3.通信装置の機能構成例
2.まとめ
1.本開示の実施の形態
1.1.SFCのアーキテクチャ例
1.2.AFCの具体的説明
1.3.通信装置の機能構成例
2.まとめ
<1.本開示の実施の形態>
[1.1.SFCのアーキテクチャ例]
本開示の実施の形態について詳細に説明する前に、まずSFCのアーキテクチャ例について説明する。図1は、非特許文献1で開示されているSFCのアーキテクチャ例である。
[1.1.SFCのアーキテクチャ例]
本開示の実施の形態について詳細に説明する前に、まずSFCのアーキテクチャ例について説明する。図1は、非特許文献1で開示されているSFCのアーキテクチャ例である。
図1のようなSFCアーキテクチャにおいて、SFCが適用される範囲をSFC-enabled Domainと呼ぶ。SFC-enabled Domain内には、classifier、service function forwarder(SFF)、service function(SF)、サーバなどが存在する。
図1においてインターネットからWebサーバにアクセスする場合を考える。インターネットから SFC-enabled Domain に入ったパケットは、まずclassifierに到達する。classifierはパケットのヘッダからこのパケットにどのSFを適用すべきかを判断し、その情報をNetwork Service Header(NSH)として当該パケットに挿入し、その後パケットを中継する。たとえば、このパケットにはSF1のみを適用する場合を想定する。
SFF1はこのパケットを受信すると、NSHの内容からこのパケットにはSF1を適用することを知り、このパケットをSF1に転送する。SF1はこのパケットを処理し、SFF1に返送する。SFF1はこのパケットをSFF2に転送する。この例ではSF1のみをパケットに適用するので、SFF2からSFFnは単にこのパケットを中継し、最終的にこのパケットはWebサーバに到達する。
このようなアーキテクチャを有するSFCでは、ネットワーク事業者やサービス提供者の観点でWAFやロードバランサなどのSFが用意されている。すなわち、ネットワーク事業者やサービス提供者の意向によりどのようなパケットをSFCの対象とするかを決めているものである。
これに対して、以下で説明するものは、ネットワーク内でパケットを転送させるサービスにおいて、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させるためのアーキテクチャである。本実施形態では、そのようなアーキテクチャのことをApplication Function Chaining(AFC)と称し、AFCアーキテクチャにおいて作用される機能のことをApplication Function(AF)と称する。
[1.2.AFCの具体的説明]
図2は、本開示の実施形態で提案するAFCのアーキテクチャを示す説明図である。AFCの設定が可能なネットワークワーク領域をAFC domainと呼ぶ。AFC domainの境界にはAFC IngressおよびAFC Egressと呼ぶノードが配置される。AFC IngressとはAFCを適用するデータパケットに関してAFC domainへの入口となるノードであり、AFC EgressとはAFC domainの出口となるノードである。同一のノードがAFC Ingressとして動作する場合もあれば、AFC Egressとして動作する場合もある。携帯電話網のコアネットワークを例にとると、eNB、S-GWあるいはP-GWがAFC Ingressの役割を果たす場合も考えられる。図2ではAFC IngressとAFC Egressはそれぞれ1台しか存在しないが、複数台存在してもよい。
図2は、本開示の実施形態で提案するAFCのアーキテクチャを示す説明図である。AFCの設定が可能なネットワークワーク領域をAFC domainと呼ぶ。AFC domainの境界にはAFC IngressおよびAFC Egressと呼ぶノードが配置される。AFC IngressとはAFCを適用するデータパケットに関してAFC domainへの入口となるノードであり、AFC EgressとはAFC domainの出口となるノードである。同一のノードがAFC Ingressとして動作する場合もあれば、AFC Egressとして動作する場合もある。携帯電話網のコアネットワークを例にとると、eNB、S-GWあるいはP-GWがAFC Ingressの役割を果たす場合も考えられる。図2ではAFC IngressとAFC Egressはそれぞれ1台しか存在しないが、複数台存在してもよい。
AFC IngressとAFC Egressは、データパケットの送受信に使用するポートと制御パケットを送受信するためのポートとしてそれぞれwell-knownポートを持つものとする。AFC ManagerはAFC domain内におけるAFCを管理するノードである。AFC UserはAFC domain内にAFCを設置するユーザである。AAA ServerはAFC Userの認証認可を行うノードである。AFC domain内には1台以上のAF Nodeが存在する。AF NodeとはAFの実行が可能なノードである。
AF NodeにはAFC Daemon-pと呼ぶデーモンプロセスが常に動作している。AFC Daemon-pは制御パケットを送受信するためのポートとしてwell-knownポートを持つものとする。図2ではAFC Daemon-pの記載を省略している。AFC UserがAFの起動を要求すると、AFC Daemon-pは子プロセスとしてAFC Daemonを起動し、その後はAFC Daemonが処理を行う。COTS(Commercial off-the-shelf) deviceとは既製品の通信デバイスであり、パラメータ等の設定変更は可能であるがソフトウェアの変更はできないことを想定する。ServerとはCOTS deviceの通信相手である。COTS device上のアプリケーションはServer上のアプリケーションと通信するものとする。
COTS deviceからServerにデータを送信する場合、AFC Ingressは本開示の開始ノードの一例であり、AFC Egressは本開示の目的ノードの一例である。またCOTS deviceは本開示の送信元ノードの一例であり、Serverは本開示の送信先ノードの一例である。
途中で分岐と合流があるAFCや同一のAFを複数のAF Nodeに配置したAFC では、データパケットが転送される経路はデータパケットごとに異なる場合がある。AFC上で実際にデータパケットが転送される経路をAFCパスと呼ぶこととする。
(AFC for COTS deviceの動作概要)
COTS device上のアプリケーションとServer上のアプリケーションとの通信にAFCを適用する手順の概略は以下(1)~(8)の通りである。
COTS device上のアプリケーションとServer上のアプリケーションとの通信にAFCを適用する手順の概略は以下(1)~(8)の通りである。
(1)AFC UserはAFCで使用する1つ以上のAFを希望するAF Nodeに設置する。この作業を AF Setupと呼ぶ。
(2)AFC Userは設置したAFを直線状あるいは分岐と合流がある形状に連結し、AFCを設置する。AFCの構成情報はAFC Ingressが保持する。この作業をAFC Setupと呼ぶ。COTS device上のアプリケーションが送信するデータパケットの中からAFCを適用すべきデータパケットを選別するためには、いわゆる5タプル(始点IPアドレス、終点IPアドレス、プロトコル、始点ポート番号、終点ポート番号)を使用する。
(3)COTS device上のアプリケーションはTCP/IPまたはUDP/IPでデータパケットを送信する。このパケットを元データパケットと呼ぶ。元データパケットはAFC Ingressに到達する。AFC Ingressは5タプルにより適用すべきAFCを選別し、受信したデータパケットにAFCを実現するためのIPヘッダ、UDPヘッダおよびAFCヘッダを付加する。このパケットをAFCデータパケットと呼ぶこととする。図3はAFCデータパケットの構造を示す説明図である。以降、「IPヘッダ」や「UDPヘッダ」は元データパケットに付加されたIPヘッダやUDPヘッダを指すこととする。
(4)AFC IngressはAFCデータパケットを送信する。AFCデータパケットはAFCを構成するAF Nodeを経由し、それぞれのAF Nodeで元データパケットにAFが適用される。そして最終的にAFCデータパケットはAFC Egressに到達する。
(5)AFC EgressはAFCデータパケットからIPヘッダ、UDPヘッダおよびAFCヘッダを削除して元データパケットを取り出し、取り出したパケットを送信する。
(6)最終的に元データパケットはServer上のアプリケーションに到達する。
(7)AFC Userは不要になったAFCを削除する。この動作をAFC Deleteと呼ぶ。
(8)AFC Userは不要になったAFを削除する。この動作をAF Deleteと呼ぶ。
(制御パケットのフィールドの役割)
本実施形態で使用する制御パケットには以下の17種類がある。AF Setup Requestパケット、AF Setup Responseパケット、AA Requestパケット、AA Responseパケット、AF Invoke Requestパケット、AF Invoke Responseパケット、AFC Setup Requestパケット、AFC Setup Responseパケット、AFC Install Requestパケット、AFC Install Responseパケット、AFC Delete Requestパケット、AFC Delete Responseパケット、AF Delete Requestパケット、AF Delete Responseパケット、Load Monitoring Requestパケット、Load Monitoring ResponseパケットおよびFeedbackパケットである。
本実施形態で使用する制御パケットには以下の17種類がある。AF Setup Requestパケット、AF Setup Responseパケット、AA Requestパケット、AA Responseパケット、AF Invoke Requestパケット、AF Invoke Responseパケット、AFC Setup Requestパケット、AFC Setup Responseパケット、AFC Install Requestパケット、AFC Install Responseパケット、AFC Delete Requestパケット、AFC Delete Responseパケット、AF Delete Requestパケット、AF Delete Responseパケット、Load Monitoring Requestパケット、Load Monitoring ResponseパケットおよびFeedbackパケットである。
制御パケットの各フィールドは以下の役割を持つ。Typeフィールドはパケットのタイプを示す。パケットタイプは大きく分けて動作を要求するRequestパケットと、Requestパケットに対する応答パケットであるResponseパケットとがある。User IDフィールドはAFC Userの識別子を示す。User CredentialはAFC Userの認証認可のための情報を示す。認証認可のための情報とは、例えばユーザ名とパスワードである。AF Node IP AddressフィールドはAF NodeのIPアドレスを示す。本実施形態ではAFは実行形ファイルとしてAF Nodeに格納されていると仮定する。AF File NameフィールドはAFの実行形ファイル名を示す。AF ParametersフィールドはAFを起動する際のパラメータを示す。StatusフィールドはRequestパケットが示す処理要求に対する処理結果を示す。AF IDフィールドはAFの識別子を示す。AFC Daemon Data Portフィールドは、AFC DaemonがAFCデータパケットを送受信するためのポート番号を示す。AFC Daemon Control Portフィールドは、AFC Daemonが制御パケットを送受信するためのポート番号を示す。
以下に示す5つのフィールドはAFCを適用すべき元データパケットを選別するためのマッチフィールドである。Source IP Addressフィールドは始点IPアドレスを示す。Destination IP Addressフィールドは終点IPアドレスを示す。Protocolフィールドはトランスポート層プロトコルの種類を示す。Source Portフィールドは始点ポート番号を示す。Destination Portフィールドは終点ポート番号示す。
Ingress IP AddressフィールドはAFC IngressのIPアドレスを示す。Egress IP AddressフィールドはAFC EgressのIPアドレスを示す。No of AFsフィールドはAFCを構成するAFの個数を示す。
AF Session Keyフィールドは、AFC Userが設置したAFに関してAFC User、AFC Manager、AFC IngressおよびAFC daemonが共有する鍵情報を示す。AF CertificateフィールドはAF Session Keyから生成した証明書情報を示す。Next Index LengthフィールドはNext Indexフィールドの長さを示す。Next Indexフィールドは、AFCを構成するAFのうち次に適用すべきAFのインデックス(AFC内での順番を表す番号であり、0から始まる)を示す。
AFC Session Keyフィールドは、AFC Userが設置したAFCに関してAFC User、AFC ManagerおよびAFC Ingressが共有する鍵情報を示す。AFC CertificateフィールドはAFC Session Keyから生成した証明書情報を示す。LoadフィールドはAF Nodeの負荷を示す。In TimestampフィールドはAF NodeがAFCデータパケットを受信したときの時刻を示す。Out TimestampフィールドはAF NodeがAFCデータパケットを送信したときの時刻を示す。Ingress Out TimestampフィールドはAFC IngressがAFCデータパケットを送信したときの時刻を示す。Egress In TimestampフィールドはAFC EgressがAFCデータパケットを受信したときの時刻を示す。
(AFCヘッダのフィールドの役割)
AFCにおけるデータパケットのヘッダは、IPヘッダ、UDPヘッダおよびAFCヘッダから構成される。本実施形態では、IPヘッダに関しては始点IPアドレス(Src IP)フィールドと終点IPアドレス(Dst IP)フィールドのみに着目する。UDPヘッダに関しては始点ポート(Src Port)フィールドと終点ポート(Dst Port)フィールドのみに着目する。
AFCにおけるデータパケットのヘッダは、IPヘッダ、UDPヘッダおよびAFCヘッダから構成される。本実施形態では、IPヘッダに関しては始点IPアドレス(Src IP)フィールドと終点IPアドレス(Dst IP)フィールドのみに着目する。UDPヘッダに関しては始点ポート(Src Port)フィールドと終点ポート(Dst Port)フィールドのみに着目する。
AFCヘッダは以下のフィールドからなる。AFC IDフィールドはAFCの識別子を示す。Sequence NumberフィールドはAFCデータパケットのシーケンス番号を示す。シーケンス番号はAFCごとに割り当てられる。Ingress Out TimestampフィールドはAFC IngressがAFCデータパケットを送信したときの時刻を示す。Flagsフィールドにはさまざまなフラグが設定されることができる。本実施形態ではFeedbackフラグのみを定義する。Feedbackフラグが設定されたAFCデータパケットをAFC Egressが受信した場合、AFC EgressはAFC IngressにAFC Feedbackパケットを送信する。No of AFsフィールドはAFCを構成するAFの個数を示す。AF Indexフィールドは次に適用するAFのインデックス(0から始まる)を示す。AF Node IP AddressフィールドはAF NodeのIPアドレスを示す。Daemon Data Portフィールドは、AFC DaemonがAFCデータパケットの送受信に使用するポート番号を示す。AF IDフィールドはAFの識別子を示す。AF Certificateフィールドは、AFC Userが設置したAFに関してAFC UserとAFC Daemonとの間で共有する鍵情報から生成した証明書情報を示す。Next Index LengthフィールドはNext Indexフィールドの長さを示す。Next Indexフィールドは次に適用するAFのインデックスを示す。このフィールドは「条件式:AFのインデックス」という対からなる。In TimestampフィールドはAF NodeがAFCデータパケットを受信したときの時刻を示す。Out TimestampフィールドはAF NodeがAFCデータパケットを送信したときの時刻を示す。Egress IP AddressはAFC EgressのIPアドレスを示す。Egress Data PortフィールドはAFC EgressがAFCデータパケットを受信するためのポート番号を示す。
(管理用テーブルのフィールドの役割)
AFC Daemonは、管理用テーブルとして、Daemon AF TableとDaemon AFC Tableを保持する。AFC Managerは、管理用テーブルとして、Manager User Table、Manager AFC Table、Manager AF Table、Manager AF ListおよびManager AF Node Tableを保持する。AFC Ingressは、管理用テーブルとして、Ingress AFC Table、Ingress AF Table、Ingress AF Node Table、Ingress AFC Path List Table、Ingress AFC Path List EntryおよびIngress AF Node TS Tableを保持する。
AFC Daemonは、管理用テーブルとして、Daemon AF TableとDaemon AFC Tableを保持する。AFC Managerは、管理用テーブルとして、Manager User Table、Manager AFC Table、Manager AF Table、Manager AF ListおよびManager AF Node Tableを保持する。AFC Ingressは、管理用テーブルとして、Ingress AFC Table、Ingress AF Table、Ingress AF Node Table、Ingress AFC Path List Table、Ingress AFC Path List EntryおよびIngress AF Node TS Tableを保持する。
管理用テーブルの各フィールドは以下の役割を持つ。ptr to next User Tableフィールドは他のUser Tableを指すポインタを示す。ptr to AF Tableフィールドは他のAF Tableを指すポインタを示す。ptr to next AF Tableフィールドは他のAF Tableを指すポインタを示す。User IDフィールドはAFC Userの識別子を示す。Time to LiveフィールドはAFC Userに関連する設定情報がタイムアウトするまでの時間を示す。AF IDフィールドはAFの識別子を示す。AF In PortフィールドはAFに元データパケットを入力する際に使用するポート番号を示す。AF Out PortフィールドはAFから処理済みの元データパケットを受け取る際に使用するポート番号を示す。AFC Session KeyはAFC Userが設置したAFCに関してAFC UserとAFC Managerとが共有する鍵情報を示す。AF Session Keyフィールドは、AFC Userが設置したAFに関してAFC User、AFC Manager、AFC IngressおよびAFC daemonが共有する鍵情報を示す。AF Node IP AddressフィールドはAF NodeのIPアドレスを示す。Daemon Data PortフィールドはAFC DaemonがAFCデータパケットの送受信に使用するポート番号を示す。Daemon ControlPortフィールドはAFC Daemonが制御パケットの送受信に使用するポート番号を示す。Ingress IP AddressフィールドはAFC IngressのIPアドレスを示す。Egress IP AddressフィールドはAFC EgressのIPアドレスを示す。Sequence Numberフィールドは直近に受信したAFCデータパケットのシーケンス番号を示す。Next Index LengthフィールドはNext Indexフィールドの長さを示す。Next Indexフィールドは次に適用するAFのインデックスを示す。このフィールドは「条件式:AFのインデックス」という対からなる。LoadフィールドはAF Nodeの負荷を示す。ptr to Next AFC Path List Tableフィールドは他のAFC Path List Tableを指すポインタを示す。ptr to AFC Path List EntryフィールドはAFC Path List Entryを指すポインタを示す。AFC Path IDフィールドはAFCパスの識別子を示す。ptr to next AFC Path List Entryフィールドは他のAFC Path List Entryを指すポインタを示す。ptr to AF Node TS TableフィールドはAF Node TS Tableを指すポインタを示す。Ingress Out TimestampフィールドはAFC IngressがAFCデータパケットを送信したときの時刻を示す。Egress In TimestampフィールドはAFC EgressがAFCデータパケットを受信したときの時刻を示す。ptr to next AF Node TS Tableフィールドは他のAF Node TS Tableへのポインタを示す。In TimestampフィールドはAF NodeがAFCデータパケットを受信したときの時刻を示す。Out TimestampフィールドはAF NodeがAFCデータパケットを送信したときの時刻を示す。
(セキュリティ対策)
セキュリティを保つため、本実施形態では以下を仮定する。AFC ManagerとAAA serverとの間にはTLS(Transport Layer Security)のような安全な通信路があらかじめ設定されているとする。AFC User とAFC Managerとの間、AFC ManagerとAFC Ingressとの間、AFC IngressとAFC Egressとの間およびAFC ManagerとAF Nodeとの間には必要に応じTLSコネクションの確立が可能であるとする。また、COTS deviceにおけるパラメータ設定により、COTS deviceとAFC Ingressとの間にはWi-FiにおけるWPA2(Wi-Fi Protected Access 2)のような認証方式による安全な通信路の確立が可能とする。
セキュリティを保つため、本実施形態では以下を仮定する。AFC ManagerとAAA serverとの間にはTLS(Transport Layer Security)のような安全な通信路があらかじめ設定されているとする。AFC User とAFC Managerとの間、AFC ManagerとAFC Ingressとの間、AFC IngressとAFC Egressとの間およびAFC ManagerとAF Nodeとの間には必要に応じTLSコネクションの確立が可能であるとする。また、COTS deviceにおけるパラメータ設定により、COTS deviceとAFC Ingressとの間にはWi-FiにおけるWPA2(Wi-Fi Protected Access 2)のような認証方式による安全な通信路の確立が可能とする。
図4は、AFの設置におけるセキュリティ対策を示す説明図である。AFC UserはAFC Managerとの間にTLSコネクションを確立する(ステップS101)。AFC UserがAF NodeでAFを設置する際には、AF Userは認証認可情報(User Credential)を含むAF設置要求パケット(AF Setup Requestパケット)をAFC Managerに送信する(ステップS102)。
AFC ManagerはUser Credentialを含む認証認可要求パケット(AA Request パケット)をAAAサーバに送信する(ステップS103)。AAA ServerはUser Credentialを検証し、AFC Userの認証認可を行う(ステップS104)。AFC Userの認証認可とは、AFC Userの真正性の検証と、AFC Userが特定のAF Nodeで特定のAFを設置し利用する権限を有するかの検証である。
AAA Serverは認証認可の結果をAFC Managerに返す(ステップS105)。認証認可が成功した場合、AFC ManagerはAF Session Keyを生成する(ステップS106)。AF Session Keyの生成方法はどのようなものでもよい。AF Session Keyは、例えば任意の長さを有する乱数でもよい。
続いて、AFC ManagerはAFC Daemonとの間にTLSコネクションを確立する(ステップS107)。AFC ManagerはAF Session Keyを含むAF起動要求パケット(AF Invoke Requestパケット)をAFC Daemonに送信する(ステップS108)。
AFC Daemonは指定されたAFを起動する(図4では省略)。そしてAFC DaemonはAF Session Keyを保存することでAF Session Keyを共有する(ステップS109)。
AFC DaemonはAF起動の結果をAFC Managerに返す(ステップS110)。続いてAFC ManagerはAFC Daemonとの間のTLSコネクションを切断する(ステップS111)。
続いて、AFC ManagerはAF Session KeyとAF設置の結果を含むパケット(AF Setup Responseパケット)をAFC Userに返す(ステップS112)。AFC UserはAFC Managerとの間のTLSコネクションを切断する(ステップS113)。そして、AFC UserはAF SessionKeyを保存することでAF Session Keyを共有する(ステップS114)。
以上のように権限のあるAFC UserのみがAFの設定や利用が可能である。AFC UserがAFの設置や利用の権限を有することは、AF Session Keyという情報としてAFC User、AFC ManagerおよびAFC Daemon間で共有される。AF Session Keyは設置したAFごとに生成される。
(AFCの設置におけるセキュリティ対策)
続いて、AFCの設置におけるセキュリティ対策を説明する。図5は、AFCの設置におけるセキュリティ対策を示す説明図である。
続いて、AFCの設置におけるセキュリティ対策を説明する。図5は、AFCの設置におけるセキュリティ対策を示す説明図である。
図4に示す処理により、設置対象のAFCを構成する全てのAFに関してAFC UserとAFC ManagerとはAF Session Keyを共有している(ステップS121)。
AFC UserはAFC Managerとの間にTLSコネクションを確立する(ステップS122)。続いて、AFC UserはAFCを構成する全てのAFに関するAF Certificateを含むAFC設置要求パケット(AFC Setup Requestパケット)をAFCManagerに送信する(ステップS123)。AF CertificateはAF Session Keyから生成する証明書情報である。AF Certificateの生成方法の例としては、AFの識別子とAF Session Keyを連結したビット列にハッシュ関数を作用した結果のビット列とする、などの方法が考えられる。
AFC ManagerはAFC Setup Requestに含まれる全てのAFに関して、自身が保持するAF Session Keyを用いてAF Certificateを検証する(ステップS124)。AFC Setup Requestに含まれる全てのAFに関してAF Certificateの検証に成功すると、AFC ManagerはAFC Session Keyを生成する(ステップS125)。AFC Session Keyの生成方法はどのようなものでもよい。例えば、AFC Session Keyは任意の長さの乱数でもよい。
続いて、AFC ManagerはAFC Ingressとの間にTLSコネクションを確立する(ステップS126)。そしてAFC ManagerはAFC Setup Requestに含まれる全てのAFに関するAF Session KeyとAFC Session Keyとを含むAFC設置要求パケット(AFC Install Requestパケット)をAFC Ingressに送信する(ステップS127)。
AFC IngressはAFC 設置情報を保存(図5では省略)し、AFCを構成する全てのAFに関するAF Session KeyとAFC Session Keyを保存することでAF Session Keyを共有する(ステップS128)。
続いて、AFC IngressはAFC設置処理の結果をAFC Managerに返す(ステップS129)。AFC ManagerはAFC Ingressとの間のTLSコネクションを切断する(ステップS130)。
AFC ManagerはAFC設置処理の結果とAFC Session Keyを含むパケット(AFC Setup Responseパケット)をAFC Userに返す(ステップS131)。AFC UserはAFC Managerとの間のTLSコネクションを切断する(ステップS132)。そして、AFC UserはAFC Session Keyを保存することでAF Session Keyを共有する(ステップS133)。
以上のようにAFC UserがAFCを設置する際、AFC Userの権限が確認される。AFC Session KeyはAFCごとに生成され、AFC User、AFC ManagerおよびAFC Ingress間で共有される。また、AF Session KeyはAFC User、AFC ManagerおよびAFC Daemonに加え、AFC Ingressにも共有される。
(データパケット転送におけるセキュリティ対策)
続いて、データパケット転送におけるセキュリティ対策を説明する。図6は、データパケット転送におけるセキュリティ対策を示す説明図である。
続いて、データパケット転送におけるセキュリティ対策を説明する。図6は、データパケット転送におけるセキュリティ対策を示す説明図である。
図4および図5に示す処理により、AFCを構成する各AFに関するAF Session Keyは、AFC User、AFC DaemonおよびAFC Ingressとの間で共有されている(ステップS141)。
COTS deviceは元データパケットを送信する(ステップS142)。AFC Ingressは元データパケットを受信してAFC データパケットを送信する際、AFCを構成する各AFに関するAF Session KeyからAF Certificateを生成してAFCヘッダに含める(ステップS143)。AF Certificateの生成方法の例としては、シーケンス番号、AFの識別子およびAF Session Keyを連結したビット列にハッシュ関数を作用した結果のビット列とする、などの方法が考えられる。
続いてAFC IngressはAFCデータパケットをAFC Daemonに送信する(ステップS144)。AFC Daemonは自身上で動作するAFに関するAF Certificateを検証する(ステップS145)。検証に成功すると、AFC DaemonはAFCデータパケットにAFを適用する(図6では省略)。AFC DaemonはAFCデータパケットを次のAFC Daemonに転送する(ステップS146)。
以降、AFCパスにおいて同様の処理が行われる。上述の処理により、不正なノードが不正なAFCデータパケットを偽造してAF Nodeに送信しても、AFC Daemonは不正なAFCデータパケットであることを検知できる。AFC Ingressは元データパケットを受信してAFCデータパケットを送信する際、パケットごとにシーケンス番号をインクリメントしてAFCヘッダに含める。シーケンス番号はAFCごとに割り当てられる。一方、AFC Daemonは受信したAFCデータパケットのシーケンス番号を記録している。従って、不正なノードが正当なAFCデータパケットを盗聴して蓄え、あとから盗聴したパケットを送信(replay attack)しても、AFC Daemonはreplay attackであることを検知できる。上記のようにAF Certificateを生成する際にシーケンス番号も利用していれば、偽造したシーケンス番号も検出できる。
(AFCの削除におけるセキュリティ対策)
続いて、AFCの削除におけるセキュリティ対策を説明する。図7は、AFCの削除におけるセキュリティ対策を示す説明図である。
続いて、AFCの削除におけるセキュリティ対策を説明する。図7は、AFCの削除におけるセキュリティ対策を示す説明図である。
図5に示す処理により、AFC User、AFC ManagerおよびAFC Ingressは削除対象のAFCに関するAFC Session Keyを共有している(ステップS151)。
AFC UserはAFC Certificateを含むAFC削除要求パケット(AFC Delete Requestパケット)をAFC Managerに送信する(ステップS152)。AFC Certificateの生成方法の例としては、AFCの識別子とAFC Session Keyを連結したビット列にハッシュ関数を作用した結果のビット列とする、などの方法が考えられる。
AFC ManagerはAFC Certificateを検証し、AFC Userが対象となるAFCに関する権限を有することを確認する(ステップS153)。続いてAFC ManagerはAFC Delete RequestパケットをAFC Ingressに転送する(ステップS154)。
AFC IngressはAFC Certificateを検証し(ステップS155)、AFC Userが対象となるAFCに関する権限を有することを確認し、AFCの設定を削除(図7では省略)する。続いてAFC Ingressは応答パケットをAFC Managerに返送する(ステップS156)。AFC Managerは応答パケットをAFC Userに転送する(ステップS157)。以上のように、権限を有するAFC UserのみがAFCを削除することができる。
(AFの削除におけるセキュリティ対策)
続いて、AFの削除におけるセキュリティ対策を説明する。図8は、AFの削除におけるセキュリティ対策を示す説明図である。
続いて、AFの削除におけるセキュリティ対策を説明する。図8は、AFの削除におけるセキュリティ対策を示す説明図である。
図4に示す処理により、AFC User、AFC ManagerおよびAFC Daemonは削除対象のAFに関するAF Session Keyを共有している(ステップS161)。
AFC Userは削除対象のAFに関するAF Certificateを含むAF 削除要求パケット(AF Delete Requestパケット)をAFC Managerに送信する(ステップS162)。AF Certificateの生成方法の例としては、AFの識別子とAF Session Keyとを連結したビット列にハッシュ関数を作用した結果のビット列とする、などの方法が考えられる。
AFC ManagerはAF Session Keyを用いてAF Certificateを検証し(ステップS163)、検証が成功すると関連する情報を削除する(図8では省略)。続いてAFC ManagerはAF Delete RequestパケットをAFC Daemonに転送する(ステップS164)。
AFC DaemonはAF Session Keyを用いてAF Certificateを検証し(ステップS165)、検証が成功するとAFを削除し、関連する情報を削除する(図8では省略)。AFC Ingressは応答パケットをAFC Managerに返す(ステップS166)。AFC Managerは応答パケットをAFC Userに転送する(ステップS167)。以上のように、権限を有するAFC UserのみがAFを削除することができる。
(AF Node-1でのAF-1の設置)
続いて、あるAF Node(AF Node-1とする)でのAF(AF-1)の設置について説明する。図9は、AFC User-1が AF Node-1上にAF-1を設置する際の手順を示す説明図である。AFC User-1の識別子をUSRID-1とする。AFC User-1のcredentialをUSRCred-usr1とする。AF-1の実行形ファイル名をFName-af1とする。AF-1を実行する際のパラメータをParam-af1とする。AF Node-1のIPアドレスをIP-afn1とする。
続いて、あるAF Node(AF Node-1とする)でのAF(AF-1)の設置について説明する。図9は、AFC User-1が AF Node-1上にAF-1を設置する際の手順を示す説明図である。AFC User-1の識別子をUSRID-1とする。AFC User-1のcredentialをUSRCred-usr1とする。AF-1の実行形ファイル名をFName-af1とする。AF-1を実行する際のパラメータをParam-af1とする。AF Node-1のIPアドレスをIP-afn1とする。
まずAFC User-1はAFC Managerとの間にTLSコネクションを確立する(ステップS171)。
続いてAFC User-1は、図10に示すAF Setup RequestパケットをAFC Managerに送信する(ステップS172)。AF Setup Requestパケットの各フィールドの値は以下のとおりである。Typeフィールドには「AF Setup Request」が設定される。User IDフィールドにはUSRID-1が設定される。User CredentialフィールドにはUSRCred-usr1が設定される。AF Node IP AddressフィールドにはIP-afn1が設定される。AF File NameフィールドにはFName-af1が設定される。AF ParametersフィールドにはParam-af1が設定される。
AFC ManagerはAF Setup Requestパケットを受信すると、図12に示すAA RequestパケットをAAA Serverに送信する(ステップS173)。AA Requestパケットの各フィールドの値は以下の通りである。Type フィールドには「AA Request」が設定される。User IDフィールドにはAF Setup RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。User CredentialフィールドにはAF Setup RequestパケットのUser Credentialフィールドの値であるUSRCred-usr1が設定される。AF Node IP AddressフィールドにはAF Setup RequestパケットのAF Node IP Addressフィールドの値であるIP-afn1が設定される。AF File NameフィールドにはAF Setup RequestパケットのAF File Nameフィールドの値であるFName-af1が設定される。
AAA ServerはAA Requestパケットを受信すると、User Credentialフィールドの値を用いてUser-1がAF Node-1においてAF-1を起動する権限を有するかを確認する。確認に成功すると、AA Serverは図13に示すAA ResponseパケットをAFC Managerに送信する(ステップS174)。AA Responseパケットの各フィールドの値は以下の通りである。Type フィールドには「AA Response」が設定される。Statusフィールドには認証認可の成功を示す「OK」が設定される。User IDフィールドにはAA RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。
AFC ManagerはAA Responseパケットを受信すると、AF Setup RequestパケットのAF Node IPアドレスフィールドからAF Node-1のIPアドレスを知り、AF Node-1上のAFC Daemon-1-pとの間でTLSコネクション確立処理を開始する(ステップS175)。AFC Daemon-1-pはTLSコネクション確立要求を受信すると子プロセスであるAFC Daemon-1を生成する(ステップS176)。以降の処理はAFC Daemon-1が行う。結果として、AFC ManagerとAFC Daemon-1の間にTLSコネクションが確立する(ステップS177)。
続いてAFC Managerは、AF-1に識別子としてAFID-1を割り当て、AF-1に関するセッションキーとしてAFSKey-af1を生成する。次にAFC Managerは図14に示すAF Invoke RequestパケットをAFC Daemon-1に送信する(ステップS178)。AF Invoke Requestパケットの各フィールドの値は以下の通りである。Typeフィールドには「AF Invoke Request」が設定される。User IDフィールドにはAF Setup RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。AF IDフィールドにはAFID-1が設定される。AF Session KeyフィールドにはAFSKey-af1が設定される。AF File NameフィールドにはAF Setup RequestパケットのAF File Nameフィールドの値であるFName-af1が設定される。AF ParametersフィールドにはAF Setup RequestパケットのAF Parametersフィールドの値であるParam-af1が設定される。
AFC Daemon-1はAF Invoke Requestパケットを受信すると、AF File Nameフィールドが指定する実行形ファイルを起動し、AF-1とする(ステップS179)。その際、AFC Daemon-1はAF-1の標準入力と標準出力を自身のポートであるInPt-af1とOutPt-af1にそれぞれ接続しておく。次にAFC Daemon-1はAFCデータパケットを送受信するためのポートとしてDPt-afcd1を生成し、制御パケットを送受信するためのポートとしてCPt-afcd1を生成する。
次に AFC Daemon-1は図16に示すDaemon AF Tableを作成する。Daemon AF Tableの各フィールドの値は以下の通りである。ptr to next AF Tableフィールドには[null]が設定される。AF IDフィールドにはAF Invoke RequestパケットのAF IDフィールドの値であるAFID-1が設定される。AF In PortフィールドにはInPt-af1が設定される。AF Out PortフィールドにはOutPt-af1が設定される。User IDフィールドにはAF Invoke RequestパケットのUSER IDフィールドの値であるUSRID-1が設定される。AF Session KeyフィールドにはAF Invoke RequestパケットのAF Session Keyフィールドの値であるAFSKey-af1が設定される。
次にAFC Daemon-1は図15に示すAF Invoke ResponseパケットをAFC Managerに送信する(ステップS180)。AF Invoke Responseパケットの各フィールドの値は以下の通りある。Typeフィールドには「AF Invoke Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。User IDフィールドにはAF Invoke RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。AF IDフィールドにはAF Invoke RequestパケットのAF IDフィールドの値であるAFID-1が設定される。AFC Daemon Data PortフィールドにはDPt-afcd1が設定される。AFC Daemon Data PortフィールドにはCPt-afcd1が設定される。
AFC ManagerはAF Invoke Responseパケットを受信すると、図17に示すManager User Table、Manager AF TableおよびManager AF Node Tableを作成する。
Manager User Tableの各フィールドの値は以下の通りである。ptr to next User Tableには[null]が設定される。User IDフィールドにはAF Setup RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。Time to Liveフィールドには、AFC User-1の設定情報がタイムアウトするまでの時間であるTTL-usr1が設定される。ptr to AF TableフィールドにはAF Tableを指すポインタが設定される。ptr to AFC Tableフィールドには[null]が設定される。
Manager AF Tableの各フィールドの値は以下の通りである。ptr to next AF Tableには[null]が設定される。AF IDフィールドにはAFID-1が設定される。AF Session KeyフィールドにはAFSKey-af1が設定される。ptr to AF Node TableフィールドにはManager AF Node Tableを指すポインタが設定される。
Manager AF Node Tableの各フィールドの値は以下の通りである。ptr to next AF Node Tableには[null]が設定される。AF Node IP AddressフィールドにはAF Setup RequestパケットのAF Node IP Addressフィールドの値であるIP-afn1が設定される。Daemon Data PortフィールドにはAF Invoke ResponseパケットのDaemon Data Portフィールドの値であるDPt-afcd1が設定される。Daemon Control PortフィールドにはAF Invoke ResponseパケットのDaemon Control Portフィールドの値であるCPt-afcd1が設定される。
AFC ManagerはAF Invoke Responseパケットを受信すると、AFC Daemon-1とのTLSコネクションを切断する(ステップS181)。
続いてAFC Managerは図11に示すAF Setup ResponseパケットをAFC User-1に送信する(ステップS182)。AF Setup Responseパケットの各フィールドの値は以下の通りである。Typeフィールドには「AF Setup Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。User IDフィールドにはAF Setup RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。AF IDフィールドにはAF Invoke ResponseパケットのAF IDフィールドの値であるAFID-1が設定される。AF Session KeyフィールドにはAFSKey-af1が設定される。
AFC User-1はAF Setup Responseパケット受信すると、AFCManagerとの間のTLSコネクションを切断する(ステップS183)。
(AF Node-2へのAF-2の設置およびAF Node-3へのAF-3の設置)
次に上記と同様の手順でAFC User-1はAF Node-2にAF-2を設置し、AF Node-3にAF-3を設置したとする。AF-2の実行形ファイル名をFName-af2とする。AF-2を実行する際のパラメータをParam-af2とする。AF-2の識別子としてAFID-2が割り当てられたとする。AF Node-2のIPアドレスをIP-afn2とする。AF Node-2で動作するAFC DaemonをAFC Daemon-2とする。AFC Daemon-2がAF-2とデータのやり取りをするポートとしてInPt-af2とOutPt-af2とが割り当てられたとする。AF-2のためのAF Session KeyとしてAFSKey-af2が生成されたとする。AF-3の実行形ファイル名をFName-af3とする。AF-3を実行する際のパラメータをParam-af3とする。AF-3の識別子としてAFID-3が割り当てられたとする。AF Node-3のIPアドレスをIP-afn3とする。AF Node-3で動作するAFC DaemonをAFC Daemon-3とする。AFC Daemon-3がAF-3とデータのやり取りをするポートとしてInPt-af3とOutPt-af3とが割り当てられたとする。AF-3のためのAF Session KeyとしてAFSKey-af3が生成されたとする。
次に上記と同様の手順でAFC User-1はAF Node-2にAF-2を設置し、AF Node-3にAF-3を設置したとする。AF-2の実行形ファイル名をFName-af2とする。AF-2を実行する際のパラメータをParam-af2とする。AF-2の識別子としてAFID-2が割り当てられたとする。AF Node-2のIPアドレスをIP-afn2とする。AF Node-2で動作するAFC DaemonをAFC Daemon-2とする。AFC Daemon-2がAF-2とデータのやり取りをするポートとしてInPt-af2とOutPt-af2とが割り当てられたとする。AF-2のためのAF Session KeyとしてAFSKey-af2が生成されたとする。AF-3の実行形ファイル名をFName-af3とする。AF-3を実行する際のパラメータをParam-af3とする。AF-3の識別子としてAFID-3が割り当てられたとする。AF Node-3のIPアドレスをIP-afn3とする。AF Node-3で動作するAFC DaemonをAFC Daemon-3とする。AFC Daemon-3がAF-3とデータのやり取りをするポートとしてInPt-af3とOutPt-af3とが割り当てられたとする。AF-3のためのAF Session KeyとしてAFSKey-af3が生成されたとする。
すると、AFC Node-2上のAFC Daemon-2とAFC Node-3上のAFC Daemon-3とはそれぞれ図18と図19に示すDaemon AF Tableを保持する。またAFC Managerは図20に示すテーブルを保持する。図17に示すテーブルに対して図20はAF-2のためのManager AF Table、AF-3のためのManager AF Table、AF Node-2のためのManager AF Node TableおよびAF Node-3のためのManager AF Node Tableが加わっている。
(直線状のAFCの設置:AFC-1)
AFC User-1はこの時点でAF-1、AF-2およびAF-3を設置済みである。COTS deviceが通信するServerのIP アドレスをIP-svrとし、Server上のアプリケーションが使用するポート番号をPt-svrとする。AFC IngressのIPアドレスをIP-ingressとする。AFC EgressのIPアドレスをIP-egressとする。AFC User-1は、終点IPアドレスがIP-svrでありかつ終点ポート番号がPt-svrであるデータパケットに、AF1→AF3という直線状のAFC(AFC-1と呼ぶ)を適用したいとする。図21は、AFC-1の設置手順を示す説明図である。図22は、AFC-1のpathを示す説明図である。
AFC User-1はこの時点でAF-1、AF-2およびAF-3を設置済みである。COTS deviceが通信するServerのIP アドレスをIP-svrとし、Server上のアプリケーションが使用するポート番号をPt-svrとする。AFC IngressのIPアドレスをIP-ingressとする。AFC EgressのIPアドレスをIP-egressとする。AFC User-1は、終点IPアドレスがIP-svrでありかつ終点ポート番号がPt-svrであるデータパケットに、AF1→AF3という直線状のAFC(AFC-1と呼ぶ)を適用したいとする。図21は、AFC-1の設置手順を示す説明図である。図22は、AFC-1のpathを示す説明図である。
AFC User-1は、AFC Managerとの間にTLSコネクションを確立する(ステップS191)。
AFC User-1は、図23に示すAFC Setup RequestパケットをAFC Managerに送信する(ステップS192)。AFC Setup Requestパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Setup Request」が設定される。User ID フィールドにはUSRID-1が設定される。これに続く5つのフィールドは、AFCを適用する元データパケットを識別するためのマッチフィールドである。元データパケットの対応するフィールドの値がこのマッチフィールドの値と全て一致した場合、その元データパケットにはAFCが適用される。Source IP Addressフィールドの値は[any]であるため、元データパケットの始点IPアドレスの値はどのような場合でも条件を満足する。Destination IP Addressフィールドの値はIP-svrであるため、元データパケットの終点IPアドレスの値がIP-svrの場合のみ条件を満足する。Source Portフィールドの値は[any]であるため、元データパケットの始点ポート番号はどのような場合でも条件を満足する。Destination Portフィールドの値はPt-svrであるため、元データパケットの終点ポート番号がPt-svrの場合のみ条件を満足する。Protocolフィールドの値はUDPであるため、データパケットのトランスポート層プロトコルがUDPの場合のみ条件を満足する。次に、Ingress IP AddressフィールドにはAFC IngressのIPアドレスであるIP-ingress が設定される。Egress IP AddressフィールドにはAFC EgressのIPアドレスであるIP-egressが設定される。No of AFsフィールドにはAFCを構成するAFの個数である2が設定される。これに続く4つのフィールドはAF-1に関する情報を含む。AF IDフィールドにはAFID-1が設定される。AF CertificateフィールドにはAFSkey-af1を用いて生成した証明書情報であるAFCert-af1が設定される。Next Index LengthフィールドにはNext Indexフィールドの長さを示すCondLen-1が設定される。Next Indexフィールドには、AF-1の実行結果がどのような場合でも次はIndexが1であるAF(AF-3)であることを示す。これに続く以下の4つのフィールドはAF-3に関する情報を含む。AF IDフィールドにはAFID-3が設定される。AF CertificateフィールドにはAFSKey-af3を用いて生成した証明書情報であるAFCert-af3が設定される。Next Index LengthフィールドにはNext Indexフィールドの長さを示すCondLen-3が設定される。Next Indexフィールドの値はAF-3の実行結果がどのような場合でも次はIndexが2であるAFであることを示す。この値はNo of AFsフィールドの値と等しいので、Indexが2はAFC Egressを指すことになる。
AFC ManagerはAFC User-1からAFC Setup Requestパケットを受信すると、AF-1に関するAF Certificateフィールドの値とAF-3に関するAF Certificateフィールドの値とから、AFC User-1がAF-1とAF-3を利用する権限を有していることを確認する。次にAFC Managerはこれから設置するAFC(AFC-1)に識別子としてAFCID-1を割り当てる。またAFC ManagerはAFC-1に関してAFC User-1と共有する鍵情報であるAFCSKey-afc1を生成する。
次にAFC Managerは図25に示すテーブルを保持する。これは図20に示したものに、Manager AFC TableとManager AF Listとが加わったものである。Manager AFC Tableの各フィールドの値は以下の通りである。ptr to next AFC Tableフィールドには[null]が設定される。AFC IDフィールドにはAFCID-1が設定される。Ingress IP AddressフィールドにはIP-ingressが設定される。AFC Session KeyフィールドにはAFCSKey-afc1が設定される。ptr to AF ListフィールドにはManager AF Listへのポインタが設定される。Manager AF Listの各フィールドの値は以下の通りである。No of AFsフィールの値は、AFC Setup RequestパケットのNo of AFsフィールドの値である2が設定される。続いて、AFC Setup Requestパケットの2つのAF IDフィールドの値であるAFID-1とAFID-3を以降の2つのフィールドに設定する。
次にAFC ManagerはAFC Ingressとの間にTLSコネクションを確立する(ステップS193)。
次にAFC Managerは、図26に示すAFC Install RequestパケットをAFC Ingressに送信する(ステップS194)。AFC Install Requestパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Install Request」が設定される。User IDフィールドにはAFC Setup RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。AFC IDフィールドにはAFCID-1が設定される。AFC Session KeyフィールドにはAFCSKey-afc1が設定される。これに続く5個のフィールドは、AFCを適用するデータパケットを識別するためのマッチフィールドである。AFC Setup Requestパケットの対応するフィールドの値をこれらのフィールドに設定する。Ingress IP AddressフィールドにはIP-ingressが設定される。Egress IP AddressフィールドにはIP-egressが設定される。No of AFsフィールドにはAFC Setup RequestパケットのNo of AFsフィールドの値である2が設定される。これに続く8個のフィールドはAF-1に関する情報である。AF IDフィールドにはAFID-1が設定される。AF Session Keyフィールドには、図20に示したテーブルのうち、AF-1に関するManager AF TableのAF Session Keyフィールドの値であるAFSKey-af1が設定される。Next Index Lengthフィールドの値とNext Indexフィールドの値は、受信したAFC Setup Requestパケットの対応するフィールドの値が設定される。No of AF NodesフィールドはAF-1を設置したAF Nodeの個数を表す。この例では1が設定される。AF Node IP Addressフィールドには、図20に示したテーブルのうち、AF-1に関するManager AF Node TableのAF Node IP Addressフィールドの値であるIP-afn1が設定される。AFC Daemon Data Portフィールドには、図20に示したテーブルのうち、AF-1に関するManager AF Node TableのDaemon Data Portフィールドの値であるDPt-afcd1が設定される。AFC Daemon Control Portフィールドには、図20に示したテーブルのうち、AF-1に関するManager AF Node TableのDaemon Control Portフィールドの値であるCPt-afcd1が設定される。これに続く8個のフィールドはAF-3に関する情報である。これらのフィールドにはAF-1に関する情報と同様に設定される。
AFC IngressはAFC Install Requestパケットを受信すると、図28に示すIngress AFC Table、Ingress AF TableおよびIngress AF Node Tableを保持する。Ingress AFC TableはAFCごとに割り当てられる。ptr to next AFC Tableフィールドには[null]が設定される。AFC IDフィールドからAFC Session KeyフィールドにはAFC Install Requestパケットの対応するフィールドの値が設定される。Sequence Numberフィールドには初期値として0が設定される。ptr to AF Tableフィールドには、AFCを構成する最初のAFに関するIngress AF Tableへのポインタが設定される。Ingress AF TableはAFごとに割り当てられる。この例ではAF-1とAF-3にそれぞれIngress AF Tableが割り当てられる。Ingress AF Tableの各フィールドの値は以下のとおりである。AF-1のIngress AF Tableのptr to next AF TableフィールドにはAF-3のIngress AF Tableを指すポインタが設定される。AF-3のIngress AF Tableのptr to next AF Tableフィールドには[null]が設定される。AF IDフィールドからNext IndexフィールドにはAFC Install Requestパケットの対応するフィールドの値が設定される。Ingress AF Node TableはAF Nodeごとに割り当てられる。この例ではAF Node-1とAF Node-3にそれぞれIngress AF Node Tableが割り当てられる。各フィールドの値は以下の通りである。ptr to next AF Node Tableフィールドには[null]が設定される。AF Node IP AddressフィールドからDaemon Control PortフィールドにはAFC Install Requestパケットの対応するフィールドの値が設定される。Loadフィールドの値はこの時点では不定([undef])である。
次にAFC Ingressは、図27に示すAFC Install ResponseパケットをAFC Managerに送信する(ステップS195)。AFC Install Responseパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Install Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。User IDフィールドには、AFC Install RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。AFC IDフィールドには、AFC Install RequestパケットのAFC IDフィールドの値であるAFCID-1が設定される。
AFC Managerは、AF Install Responseパケットを受信すると、AFC Ingressとの間のTLSコネクションを切断する(ステップS196)。
次にAFC Managerは、図24に示すAFC Setup ResponseパケットをAFC User-1に送信する(ステップS197)。AFC Setup Responseパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Setup Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。User IDフィールドには、AFC Setup RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。AFC IDフィールドには、AFC Setup RequestパケットのAFC IDフィールドの値であるAFCID-1が設定される。AFC Session KeyフィールドにはAFCSKey-afc1が設定される。
AFC User-1はAFC ManagerからAFC Setup Responseパケットを受信すると、AFC Managerとの間のTLSコネクションを切断する(ステップS198)。
(データパケットへのAFC-1の適用)
次に、図22においてCOTS device上のアプリケーションが図30に示す元データパケットをServer上のアプリケーションに送信したとする。図29は、COTS device上のアプリケーションが図30に示す元データパケットをServer上のアプリケーションに送信する際の、パケットの流れを示す説明図である。COTS deviceのIPアドレスはIP-cotsであり、COTS device上のアプリケーションが使用するポート番号はPt-cotsであるとする。ServerのIPアドレスはIP-svrであり、Server上のアプリケーションが使用するポート番号はPt-svrであるとする。図30において、IPヘッダには始点IPアドレスフィールドと終点IPアドレスフィールドのみを示し、UDPヘッダには始点ポートフィールドと終点ポートフィールドのみを示す。
次に、図22においてCOTS device上のアプリケーションが図30に示す元データパケットをServer上のアプリケーションに送信したとする。図29は、COTS device上のアプリケーションが図30に示す元データパケットをServer上のアプリケーションに送信する際の、パケットの流れを示す説明図である。COTS deviceのIPアドレスはIP-cotsであり、COTS device上のアプリケーションが使用するポート番号はPt-cotsであるとする。ServerのIPアドレスはIP-svrであり、Server上のアプリケーションが使用するポート番号はPt-svrであるとする。図30において、IPヘッダには始点IPアドレスフィールドと終点IPアドレスフィールドのみを示し、UDPヘッダには始点ポートフィールドと終点ポートフィールドのみを示す。
まず、COTS device上のアプリケーションが元データパケットを送信する(ステップS201)。
AFC IngressはCOTS device上のアプリケーションから送信された元データパケットを受信すると、図28に示すIngress AFC Tableのマッチフィールドの値と受信したデータパケットのフィールドを比較する。その結果、この元データパケットはAFC IDフィールドの値がAFCID-1であるIngress AFC Tableとマッチすることが分かるので、AFC Ingressは図31に示すように元データパケットの先頭にIPヘッダ、UDPヘッダおよびAFCヘッダを付加し、AFC データパケットを生成する。IPヘッダでは、Src IPフィールドにはAFC IngressのIPアドレスであるIP-ingressが設定される。Dst IPフィールドには、図28に示す左下のIngress AF Node TableのAF Node IP Addressフィールドの値であるIP-afn1が設定される。UDPヘッダでは、Src PortフィールドにはAFC Ingressのデータパケット用ポート番号であるDPt-ingressが設定される。Dst Portフィールドには、図28に示す左下のIngress AF Node TableのDaemon Data Portフィールドの値であるDPt-afcd1が設定される。AFCヘッダの各フィールドの値は、図28に示すテーブルを参照し、以下のように設定される。AFC IDフィールドにはIngress AFC TableのAFC IDフィールドの値であるAFCID-1が設定される。Sequence Numberフィールドには、Ingress AFC TableのSequence Numberフィールドの値が設定されるとともに、Ingress AFC TableのSequence Numberフィールドの値がインクリメントされる。Ingress Out Timestampフィールドには、AFC IngressがAFCデータパケットを送信するときの時刻が設定される。No of AFsフィールドにはIngress AFC TableのNo of AFsフィールドの値である2が設定される。AF Indexフィールドには0が設定される。これに続く8個のフィールドはAF-1に関するものである。AF Node IP AddressフィールドとAFC Daemon Data PortフィールドにはIngress AF Node Tableの対応するフィールドの値が設定される。AF IDフィールド、Next Index LengthフィールドおよびNext IndexフィールドにはIngress AF Tableの対応するフィールドの値が設定される。AF Certificateフィールドには、Ingress AF TableのAF Session Keyフィールドを用いて生成したAF Certificateが設定される。In TimestampフィールドとOut Timestampフィールドの値は未定([undef])である。AF-2に関するフィールドの値も同様に設定される。上記のAFCデータパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従いAFC Daemon-1に到達する(ステップS202)。
AFCヘッダのAF Indexフィールドの値が0であるので、AFC Daemon-1は、識別子がAFID-1であるAF(AF-1)を、受信したAFCデータパケットに含まれる元データパケットに適用することを認識する。AFC Daemon-1は、図16に示すAF TableのAF Session Keyフィールドの値を用いてAF certificateを計算し、この値とAFCヘッダのAF Certificateフィールドの値を比較する。両者が一致すれば、このデータパケットはAFCを適用すべき正規のパケットであることが確認できる。AFC Daemon-1は、AFCを適用すべき正規のパケットであることを認識すると、AF-1を呼び出す。
次にAFC Daemon-1は、Daemon AFC Tableを検索するが、この時点ではAFC Daemon-1はDaemon AFC Tableを保持していない。そこでAFC Daemon-1は、図32に示すDaemon AFC Tableを作成する。各フィールドの値は以下の通りである。ptr to next AFC Tableフィールドには[null]が設定される。AFC IDフィールドにはAFC ヘッダのAFC IDフィールドの値であるAFCID-1が設定される。Sequence NumberフィールドにはAFCヘッダのSequence Numberフィールドの値であるSeq-afc1が設定される。もし既にAFCヘッダのAFC IDフィールドの値が示すAFCに関するDaemon AFC Tableが存在し、AFCヘッダのSequence Numberフィールドの値がDaemon AFC TableのSequence Numberフィールドの値と等しいか小さい場合、受信したAFC データパケットはreplay attackによるものであると判断し、AFC Daemon-1は受信したAFCデータパケットを破棄する。
次にAFC Daemon-1は図16に示すDaemon AF TableのAF In Portフィールドが示すポートから、受信した元データパケットを、呼び出したAF-1に入力する(ステップS203)。次にAFC Daemon-1はDaemon AF TableのAF Out Portフィールドが示すポートからAF-1が処理した元データパケットを受け取る。AFCヘッダのNext Indexフィールドの値は、AF-1の実行結果によらず次のAFのIndexは1(AF-3)と指定しているので、AFC Daemon-1は次のAFがAF-3であることを知る。AFC Daemon-1はAFCヘッダのAF-3に関するフィールドを参照し、AFCヘッダのAF-3に関するAF Node IP Addressフィールドの値であるIP-afn3をIPヘッダのDst IPフィールドに設定する。またAFC Daemon-1はAFCヘッダのAF-3に関するAFC Daemon Data Portフィールドの値であるDPt-afcd3をUDPヘッダのDst Portフィールドに設定する。さらにAFC Daemon-1はAF Indexフィールドの値をインクリメントする。結果としてAFCデータパケットのヘッダは図33に示すものになる。
次にAFC Daemon-1はこのAFCデータパケットを送信する(ステップS204)。その際、AFC Daemon-1はAFCヘッダのAF-1に関するIn TimestampフィールドにAFCデータパケットを受信したときの時刻を設定し、Out TimestampフィールドにAFCデータパケットを送信するときの時刻を設定する。このAFCデータパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従い、AFC Daemon-3に到達する。
AFCデータパケットのAFCヘッダのAF Indexフィールドの値が1であるので、AFC Daemon-3は識別子がAFID-3であるAF(AF-3)を、受信したAFCデータパケットに含まれる元データパケットに適用することを認識する。AFC Daemon-3はAFC Daemon-1と同様にAFCデータパケットが正規のものであり、replay attackのものでないことを確認し、その後AF-3を呼び出し、元データパケットにAF-3を適用する(ステップS205)。AFCヘッダのAF-3に関するNext Indexフィールドの値はAF-3の実行結果によらず次のAFのIndexは2であると指定している。この値はAFCヘッダのNo of AFsフィールドの値と等しいので、次のノードはAFC Egressであることが分かる。そこでAFC Daemon-3はAFCヘッダのAFC Egress IP Addressフィールドの値をIPヘッダのDst IPフィールドに設定し、AFC Egressのデータパケット用のwell-knownポートであるDPt-egressをUDPヘッダのDst Portフィールドに設定する。さらにAFC Daemon-3はAF Indexフィールドの値をインクリメントする。結果としてAFCデータパケットのヘッダは図34に示すものになる。
AFC Daemon-3はこのAFCデータパケットを送信する(ステップS206)。その際、AFC Daemon-3はAFCヘッダのAF-3に関するIn TimestampフィールドにAFCデータパケットを受信したときの時刻を設定し、Out TimestampフィールドにAFCデータパケットを送信するときの時刻を設定する。このAFCデータパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従い、AFC Egressに到達する。
AFC Egressは受信したAFCデータパケットから図30に示す元データパケットを取り出し、アプリケーションに転送する(ステップS207)。元データパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従い、Server上のアプリケーションに到達する。
(分岐と合流のあるAFCの設定:AFC-2)
次に、AF-1での実行結果によってAF-1から直接AF-3に進むというAFC pathとAF-1からAF-2を経てAF-3に進むというAFC pathに分岐するAFC(AFC-2と呼ぶ)を設定する場合を考える。
次に、AF-1での実行結果によってAF-1から直接AF-3に進むというAFC pathとAF-1からAF-2を経てAF-3に進むというAFC pathに分岐するAFC(AFC-2と呼ぶ)を設定する場合を考える。
図35は、AFC-2のpathを示す説明図である。AFC User-1は図21に示す手順と同様に図36に示すAFC Setup RequestパケットをAFC Managerに送信する。AFC ManagerはAFC Setup Requestパケットを受信すると、図38に示すAFC Install RequestパケットをAFC Ingress に送信する。AFC IngressはAFC Install Requestパケットを受信すると、図39に示すAFC Install ResponseパケットをAFC Managerに送信する。
AFC ManagerはAFC Install Responseパケットを受信すると、図37に示すAFC Setup ResponseパケットをAFC User-1に送信する。
以上の処理の結果、AFC Managerは図40に示すテーブルを保持する。図5 と比較すると、図40にはAFC-2に関するManager AFC Tableとanager AF LIst が追加されている。また、AFC Ingressは図41に示すテーブルを保持する。図28と比較すると、図41にはAFC-2に関するIngress AFC TableとAFC-2を構成するAF(AF-1、AF-2、AF-3)に関するIngress AF TableおよびIngress AF Node Tableが追加されている。
(分岐と合流のあるAFCでのデータ転送)
次に、図35で示した分岐と合流のあるAFCにおいて、COTS device上のアプリケーションが図42に示す元データパケットをServer上のアプリケーションに送信したとする。
次に、図35で示した分岐と合流のあるAFCにおいて、COTS device上のアプリケーションが図42に示す元データパケットをServer上のアプリケーションに送信したとする。
COTS deviceのIPアドレスはIP-cotsであり、COTS device上のアプリケーションが使用するポート番号はPt-cotsであるとする。ServerのIPアドレスはIP-svr2であり、Server上のアプリケーションが使用するポート番号はPt-svr2であるとする。
図42において、IPヘッダには始点IPアドレスフィールドと終点IPアドレスフィールドのみを示し、UDPヘッダには始点ポートフィールドと終点ポートフィールドのみを示す。
この元データパケットがAFC Ingressに到達すると、AFC Ingressは図41に示すIngress AFC Tableのマッチフィールドの値と受信した元データパケットのフィールドを比較する。その結果、この元データパケットはAFC IDフィールドの値がAFCID-2であるIngress AFC Tableとマッチすることが分かるので、AFC Ingressは図43に示すように元データパケットの先頭にIPヘッダ、UDPヘッダおよびAFCヘッダを付加する。これらのヘッダの各フィールドの値は、上述の(データパケットへのAFC-1の適用)で述べた手順と同様にして設定する。上記のデータパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従い、AFC Daemon-1に到達する。上述の(データパケットへのAFC-1の適用)で述べた手順と同様にAFC Daemon-1は元データパケットをAF-1に入力し、出力データを得る。出力結果が条件式Cond-1を満足する場合は、次のAFのIndexは2(AF-3)となる。その結果、上述の(データパケットへのAFC-1の適用)で述べた手順と同様にして図44に示したヘッダを生成する。
次にAFC Daemon-1はこのパケットを送信する。このパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従い、AFC Daemon-3に到達する。AFC Daemon-3は元データパケットにAF-3を適用する。一方、AF-1の出力結果が条件式Cond-1を満足しない場合は次のAFのIndexは1(AF-2)となる。以降、AFC Daemon-2は元データパケットにAF-2を適用し、続いてAFCDaemon-3は元データパケットにAF-3を適用する。
いずれの場合もAFCデータパケットはAFC Egressに到達し、最終的に元データパケットはServer上のアプリケーションに到達する。
(AFCの削除)
上記のようにAFC User-1がAFC-1とAFC-2を設定後、AFC-2を削除する手順を説明する。図45はAFCの削除について示す説明図である。
上記のようにAFC User-1がAFC-1とAFC-2を設定後、AFC-2を削除する手順を説明する。図45はAFCの削除について示す説明図である。
まず、AFC User-1はAFC Managerとの間にTLSセッションを確立する(ステップS211)。
続いてAFC User-1は図46に示すAFC Delete RequestパケットをAFC Managerに送信する(ステップS212)。AFC Delete Requestメッセージの各フィールドの値は以下のとおりである。Typeフィールドには「AFC Delete Request」を設定する。User IDフィールドにはUSRID-1を設定する。AFC IDフィールドにはAFCID-2を設定する。AFC Certificateフィールドには、図37に示すAFC Setup Responseパケットの受信によって得られたAFCSKey-afc2を用いて生成した証明書情報であるAFCCert-afc2を設定する。
AFC ManagerはAFC Delete Requestパケットを受信すると、図40に示すManager AFC TableからAFC IngressのIPアドレスを知り、AFC Ingressとの間にTLSコネクションを確立する(ステップS213)。
次にAFC Managerは、受信したAFC Delete RequestパケットをAFC Ingressに転送する(ステップS214)。
AFC IngressはAFC Delete Requestパケットを受信すると、図41に示すテーブルからAFC-2に関するテーブルを削除する。結果としてAFC Ingressは図28に示すテーブルを保持する。
次にAFC Ingressは、図47に示すAFC Delete ResponseパケットをAFC Managerに送信する(ステップS215)。AFC Delete Responseパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Delete Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。User IDフィールドには、AFC Delete RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。AFC IDフィールドには、AFC Delete RequestパケットのAFC IDフィールドの値であるAFCID-2が設定される。
AFC ManagerはAFC Delete Responseパケットを受信すると、図40に示すテーブルからAFC-2に関するテーブルを削除する。結果としてAFC Managerは図25に示すテーブルを保持する。
次にAFC ManagerはAFC Ingressとの間のTLSコネクションを切断する(ステップS216)。
次にAFC Managerは受信したAFC Delete ResponseパケットをAFC User-1に転送する(ステップS217)。
AFC User-1はAFC Delete Responseパケットを受信すると、AFC Managerとの間のTLSコネクションを切断する(ステップS218)。
(AFの削除)
続いて、上述のようにAFC User-1がAFC-2を削除したあと、AFC User-1がAF-2を削除する手順を説明する。図48は、AFの削除について示す説明図である。
続いて、上述のようにAFC User-1がAFC-2を削除したあと、AFC User-1がAF-2を削除する手順を説明する。図48は、AFの削除について示す説明図である。
まずAFC User-1はAFC Managerとの間にTLSコネクションを確立する(ステップS221)。
続いて、AFC User-1は図49に示すAF Delete RequestパケットをAFC Managerに送信する(ステップS222)。AF Delete Requestパケットの各フィールドの値は以下のとおりである。Typeフィールドには「AF Delete Request」が設定される。User IDフィールドにはUSRID-1が設定される。AF IDフィールドにはAFID-2が設定される。AF Certificateフィールドには、AF-2の設定の際に受信したAF Setup Responseパケットにより得られたAFSKey-af2を用いて生成した証明書情報であるAFCert-af2が設定される。
AFC ManagerはAF Delete Requestパケットを受信すると、図25に示すManager AF ListにAFID-2が含まれていないことを確認する。次にAFC Managerは、Manager AF Node TableからAFC Daemon-2のIPアドレスを知り、AFC Daemon-2との間にTLSコネクションを確立する(ステップS223)。
次にAFC Managerは受信したAF Delete RequestパケットをAFC Daemon-2に転送する(ステップS224)。
AFC Daemon-2はAF Deleteパケットを受信すると、AF-2の実行を停止する(ステップS225)。
次にAFC Daemon-2は図50に示すAF Delete ResponseパケットをAFC Managerに送信する(ステップS226)。AF Delete Responseパケットの各フィールドの値は以下の通りである。Typeフィールドには「AF Delete Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。User IDフィールドにはAF Delete RequestのUser IDフィールドの値であるUSRID-1が設定される。AF IDフィールドにはAF Delete RequestのAF IDフィールドの値であるAFID-2が設定される。
AFC ManagerはAF Delete Responseパケットを受信すると、AFC Daemon-2との間のTLSコネクションを切断する(ステップS227)。この結果、AFC Daemon-2上で動作中のAFは存在しなくなるので、AFC Daemon-2も実行を終了する。一方、AFC Managerは図25に示すテーブルからAF-2に関するテーブルを削除する。その結果、AFC Managerは図51に示すテーブルを保持する。
次にAFC Managerは受信したAF Delete ResponseパケットをAFC User-1に転送する(ステップS228)。
AFC User-1はAFC Delete Responseパケットを受信すると、AFC Managerとの間のTLSコネクションを切断する(ステップS229)。
(同一のAFを複数のAF Nodeで起動)
その後、AFC User-1はAFC-1、AF-2およびAF-1を削除したとする。次にAFC User-1は図9と同様の手順でAF-4をAF Node-4-1とAF Node-4-2に設置したとする。その結果、AFC User-1はAF-4の識別子としてAFID-4が割り当てられたことを知り、AF Session KeyとしてAFSKey-af4を得る。
その後、AFC User-1はAFC-1、AF-2およびAF-1を削除したとする。次にAFC User-1は図9と同様の手順でAF-4をAF Node-4-1とAF Node-4-2に設置したとする。その結果、AFC User-1はAF-4の識別子としてAFID-4が割り当てられたことを知り、AF Session KeyとしてAFSKey-af4を得る。
さらにAFC User-1はAF-5をAF Node-5-1とAF Node-5-2に設置したとする。その結果、AFC User-1はAF-5の識別子としてAFID-5が割り当てられたことを知り、AF Session KeyとしてAFSKey-af5を得る。またAF Node-4-1、AF Node-4-2、AF Node-5-1、およびAF Node-5-2は図53~図56に示すテーブルをそれぞれ保持し、AFC Managerは図57に示すテーブルを保持する。図57に示すように、2つのManager AF Tableがそれぞれ2つのManager AF Node Tableからなるリストを持つことが分かる。この4つのManager AF Node Tableは、それぞれAF Node-4-1、AF Node-4-2、AF Node-5-1およびAF Node-5-2に対応する。
(AFC-3の設定)
次に、AFC User-1は図21と同様の手順でAF-4とAF-5から構成されるAFC(AFC-3と呼ぶ)を設定するものとする。図52は、AFC-3のpathを示す説明図である。また図58は、AFC Setup Requestパケットを示す説明図である。AFC Setup Requestパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Setup Request」が設定される。User IDフィールドにはUSRID-1が設定される。これに続く5つのフィールドは、AFCを適用するデータパケットを識別するためのマッチフィールドである。Source IP Addressフィールドの値は[any]である。Destination IP Addressフィールドの値はIP-svr3である。Source Portフィールドの値は[any]である。Destination Portフィールドの値はPt-svr3である。Protocolフィールドの値はUDPである。Ingress IP AddressフィールドにはAFC IngressのIPアドレスであるIP-ingressが設定される。Egress IP AddressフィールドにはAFC EgressのIPアドレスであるIP-egressが設定される。次に、No of AFsフィールドにはAFCを構成するAFの個数である2が設定される。これに続く4つのフィールドはAF-4に関する情報を含む。AF IDフィールドにはAFID-4が設定される。AF CertificateフィールドにはAFSKey-af4を用いて生成した証明書情報であるAFCert-af4が設定される。Next Index LengthフィールドにはNext Indexフィールドの長さを示すCondLen-4が設定される。Next Indexフィールドには、AF-4の実行結果がどのような場合でも次はIndexが1であるAF(AF-5)であることが示される。これに続く4つのフィールドはAF-5に関する情報を含む。AF IDフィールドにはAFID-5が設定される。AF CertificateフィールドにはAFSKey-af5を用いて生成した証明書情報であるAFCert-af5が設定される。Next Index LengthフィールドにはNext Indexフィールドの長さを示すCondLen-5が設定される。Next Indexフィールドには、AF-5の実行結果がどのような場合でも次はIndexが2であるAF(AF Egress)であることが示される。AFC ManagerはAFC-3に識別子としてAFCID-3を割り当てる。
次に、AFC User-1は図21と同様の手順でAF-4とAF-5から構成されるAFC(AFC-3と呼ぶ)を設定するものとする。図52は、AFC-3のpathを示す説明図である。また図58は、AFC Setup Requestパケットを示す説明図である。AFC Setup Requestパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Setup Request」が設定される。User IDフィールドにはUSRID-1が設定される。これに続く5つのフィールドは、AFCを適用するデータパケットを識別するためのマッチフィールドである。Source IP Addressフィールドの値は[any]である。Destination IP Addressフィールドの値はIP-svr3である。Source Portフィールドの値は[any]である。Destination Portフィールドの値はPt-svr3である。Protocolフィールドの値はUDPである。Ingress IP AddressフィールドにはAFC IngressのIPアドレスであるIP-ingressが設定される。Egress IP AddressフィールドにはAFC EgressのIPアドレスであるIP-egressが設定される。次に、No of AFsフィールドにはAFCを構成するAFの個数である2が設定される。これに続く4つのフィールドはAF-4に関する情報を含む。AF IDフィールドにはAFID-4が設定される。AF CertificateフィールドにはAFSKey-af4を用いて生成した証明書情報であるAFCert-af4が設定される。Next Index LengthフィールドにはNext Indexフィールドの長さを示すCondLen-4が設定される。Next Indexフィールドには、AF-4の実行結果がどのような場合でも次はIndexが1であるAF(AF-5)であることが示される。これに続く4つのフィールドはAF-5に関する情報を含む。AF IDフィールドにはAFID-5が設定される。AF CertificateフィールドにはAFSKey-af5を用いて生成した証明書情報であるAFCert-af5が設定される。Next Index LengthフィールドにはNext Indexフィールドの長さを示すCondLen-5が設定される。Next Indexフィールドには、AF-5の実行結果がどのような場合でも次はIndexが2であるAF(AF Egress)であることが示される。AFC ManagerはAFC-3に識別子としてAFCID-3を割り当てる。
図60は、AFC Install Requestパケットを示す説明図である。AFC Install Requestパケットの各フィールドの値は以下の通りである。Typeフィールドには「AFC Install Request」が設定される。User IDフィールドからNo of AFsフィールドにはAFC Setup Requestパケットの対応するフィールドの値が設定される。これに続く11個のフィールドはAF-4に関するものである。AF ID フィールドには、AFC Setup RequestパケットのAF IDフィールドの値であるAFID-4を設定する。AF Session Keyフィールドには、図57に示すManager AF TableのAF Session Keyフィールドの値であるAFSKey-af4が設定される。Next Index LengthフィールドとNext Indexフィールドには、AFC Setup Requestパケットの対応するフィールドの値が設定される。図57に示すManager AF Tableは2つのManager AF Node Tableを持つので、No of AF Nodesフィールドには2が設定される。これに続く3つのフィールドはAF Node-4-1のためのものである。AF Node IP Addressフィールド、AFC Daemon Data PortフィールドおよびAFC Daemon Control Portフィールドには、図57に示すManager AF Node Tableの対応するフィールドの値が設定される。これに続く3つのフィールドはAF Node-4-2のためのものである。各フィールドはAF Node-4-1のためのフィールドと同様に設定される。これに続く11個のフィールドはAF-5に関するものである。これらのフィールドは、AF-4のためのフィールドと同様に設定される。図61は、上記のAFC Install Requestパケットに対応するAFC Install Responseパケットを示す説明図である。また図59は、上記のAFC Setup Requestパケットに対応するAFC Setup Responseパケットを示す説明図である。
以上の処理の結果、AFC Managerは図62に示すテーブルを保持する。図62に示すように、2つのManager AF Tableが、それぞれ2つのManager AF Node Tableからなるリストを持つ。一方、AFC Ingressは図63に示すテーブルを保持する。図63に示すように、2つのIngress AF Tableがそれぞれ2つのIngress AF Node Tableからなるリストを持つ。
(AF Nodeの負荷のモニタリング)
上記のようにAF Nodeが設定されることで、AFC Ingressは、AF-4が動作するAF Nodeが2つあり、AF-5が動作するAF Nodeも2つあることを認識するので、それぞれのAF Nodeの負荷をモニタリングする。図64は、AFC IngressによるAF Nodeの負荷のモニタリングを示す説明図である。
上記のようにAF Nodeが設定されることで、AFC Ingressは、AF-4が動作するAF Nodeが2つあり、AF-5が動作するAF Nodeも2つあることを認識するので、それぞれのAF Nodeの負荷をモニタリングする。図64は、AFC IngressによるAF Nodeの負荷のモニタリングを示す説明図である。
AFC Ingressは、図65に示すLoad Monitoring ReqeustパケットをAF Node-4-1に送信する(ステップS231)。Load Monitoring RequestパケットのTypeフィールドには「Load Monitoring Request」が設定される。
AFC Daemon-4-1はLoad Monitoring Requestパケットを受信すると、図66に示すLoad Monitoring ResponseパケットをAFC Ingressに送信する(ステップS232)。Load Monitoring Responseパケットの各フィールドの値は以下の通りである。Typeフィールドには「Load Monitoring Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。LoadフィールドにはAF Node-4-1の負荷の度合いを示す数値であるLD-4-1が設定される。
続いてAFC IngressはAF Node-4-2、AF Node-5-1およびAF Node-5-2に対しても上記と同様の処理を行う(ステップS233、S235、S237)。AF Node-4-2、AF Node-5-1およびAF Node-5-2はAF Node-4-1と同様の処理を行う(ステップS234、S236、S238)。AFC IngressはLoad Monitoring Responseを受信すると、図67に示したように、Loadフィールドの値をIngress AF Node TableのLoadフィールドに設定する。
AFC Ingressは、定期的に上記の処理を繰り返す。これによりAFC Ingressは、それぞれのAF Nodeの負荷を定期的に取得し、負荷の情報をアップデートすることができる。ここで、モニタリングされる負荷として、例えば、それぞれのAF NodeのCPU使用率、メモリ使用率、記憶媒体使用率、温度、実行中のAF数、ネットワークインターフェースの使用率、ネットワークインターフェースのデータスループット、ネットワークインターフェースのパケット破棄量、ネットワークインターフェースのトラフィック量などが挙げられる。ネットワークインターフェースに関連する負荷は、送信および受信を区別してモニタリングをしてもよく、AF Nodeが複数のネットワークインターフェースを持つ場合には、ネットワークインターフェース毎に区別してモニタリングをしてもよい。また、Load Monitoring RequestパケットまたはLoad Monitoring Responseパケットのフィールドは、複数の負荷の項目について設定されてもよい。
(AFC-3でのパケット転送(負荷によるAF Nodeの選択))
次に、図52においてCOTS device上のアプリケーションが、図68に示す元データパケットをServer上のアプリケーションに送信したとする。COTS deviceのIPアドレスはIP-cotsであり、COTS device上のアプリケーションが使用するポート番号はPt-cotsであるとする。ServerのIPアドレスはIP-svr3であり、Server上のアプリケーションが使用するポート番号はPt-svr3であるとする。図68に示した元データパケットにおいて、IPヘッダには始点IPアドレスフィールドと終点IPアドレスフィールドのみを示し、UDPヘッダには始点ポートフィールドと終点ポートフィールドのみを示す。
次に、図52においてCOTS device上のアプリケーションが、図68に示す元データパケットをServer上のアプリケーションに送信したとする。COTS deviceのIPアドレスはIP-cotsであり、COTS device上のアプリケーションが使用するポート番号はPt-cotsであるとする。ServerのIPアドレスはIP-svr3であり、Server上のアプリケーションが使用するポート番号はPt-svr3であるとする。図68に示した元データパケットにおいて、IPヘッダには始点IPアドレスフィールドと終点IPアドレスフィールドのみを示し、UDPヘッダには始点ポートフィールドと終点ポートフィールドのみを示す。
この元データパケットがAFC Ingressに到達すると、AFC Ingressは図67に示す Ingress AFC Tableのマッチフィールドの値と受信したデータパケットのフィールドを比較する。その結果、この元データパケットはAFC IDフィールドの値がAFCID-3であるIngress AFC Tableとマッチすることが分かるので、AFC Ingressは図69に示すように元データパケットの先頭にIPヘッダ、UDPヘッダおよびAFCヘッダを付加し、AFCデータパケットを生成する。IPヘッダでは、Src IPフィールドにはAFC IngressのIPアドレスであるIP-ingressが設定される。図67に示すAF-4に関する2つのIngress AF Node TableのLoadフィールドの値についてLD-4-1はLD-4-2よりも小さい数値とする。すなわち、AF Node-4-1の負荷はAF Node-4-2の負荷よりも低いとする。同様にAF Node-5-1の負荷はAF Node-5-2の負荷よりも低いとする。そこでAFC Ingressは、AF-4のAF NodeとしてはAF Node-4-1を選択し、AF-5のAF NodeとしてはAF Node-5-1を選択する。IPヘッダのDst IPフィールドにはAF Node-4-1のIPアドレスであるIP-afn4-1が設定される。UDPヘッダでは、Src PortフィールドにはAFC Ingressのデータパケット用ポート番号であるDPt-ingressが設定される。Dst PortフィールドにはAFC Daemon-4-1のAFCデータパケット送受信用ポート番号であるDPt-afcd4-1が設定される。AFCヘッダの各フィールドの値は、(データパケットへのAFC-1の適用)で述べた手順と同様にして設定される。
上記のAFCデータパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号にしたがい、AFC Daemon-4-1に到達する。AFC Daemon-4-1は(データパケットへのAFC-1の適用)で述べた手順と同様に元データパケットにAF-4を適用し、出力データを得る。AFC Daemon-4-1は図70に示すヘッダを生成し、このパケットを送信する。上記のAFCデータパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従い、AFC Daemon-5-1に到達する。AFC Daemon-5-1は(データパケットへのAFC-1の適用)で述べた手順と同様に元データパケットにAF-5を適用し、出力データを得る。AFC Daemon-5-1は図71に示すヘッダを生成し、このパケットを送信する。上記のAFCデータパケットはIPヘッダの終点アドレスとUDPヘッダの終点ポート番号に従いAFC Egressに到達する。AFC Egressは受信したAFCデータパケットから元データパケットを取り出し、この元データパケットをSeverに送信する。
(AFC-3でのパケット転送(ラウンドロビン、ランダム))
上記の例では、COTS device上のアプリケーションが送信した元データパケットがAFC Ingressに到着した際、AFC Ingressは各AF Nodeの負荷に基づいてAFCを構成するAF Nodeを選択している。他の方法としては、ラウンドロビンでAF Nodeを選択する方法も考えられる。この例では(AF Node-4-1,AF Node-5-1)、(AF Node-4-1,AF Node-5-2)、(AF Node-4-2,AF Node-5-1)および(AF Node-4-2,AF Node-5-2)という4つの組み合わせがある。ラウンドロビンとは、この4つの組み合わせを順次使用するという方法である。またこの4つの組み合わせをランダムに選択する方法も用いられて良い。
上記の例では、COTS device上のアプリケーションが送信した元データパケットがAFC Ingressに到着した際、AFC Ingressは各AF Nodeの負荷に基づいてAFCを構成するAF Nodeを選択している。他の方法としては、ラウンドロビンでAF Nodeを選択する方法も考えられる。この例では(AF Node-4-1,AF Node-5-1)、(AF Node-4-1,AF Node-5-2)、(AF Node-4-2,AF Node-5-1)および(AF Node-4-2,AF Node-5-2)という4つの組み合わせがある。ラウンドロビンとは、この4つの組み合わせを順次使用するという方法である。またこの4つの組み合わせをランダムに選択する方法も用いられて良い。
(AFC-3でのパケット転送(AFC EgressからAFC Ingressへのフィードバック))
COTS device上のアプリケーションが送信した元データパケットがAFC Ingressに到着した際、AFC IngressはAFC-3としてAF Node-4-1上のAF-4とAF Node-5-1上のAF-5を選択し、AFCヘッダのFlagsフィールドにFeedbackフラグを設定したとする。するとパケットは図72のステップS241~S247のように、COTS device上のアプリケーションからServer上のアプリケーションへ転送されていく。
COTS device上のアプリケーションが送信した元データパケットがAFC Ingressに到着した際、AFC IngressはAFC-3としてAF Node-4-1上のAF-4とAF Node-5-1上のAF-5を選択し、AFCヘッダのFlagsフィールドにFeedbackフラグを設定したとする。するとパケットは図72のステップS241~S247のように、COTS device上のアプリケーションからServer上のアプリケーションへ転送されていく。
AFCヘッダのFlagsフィールドにFeedbackフラグが設定されているので、AFC EgressはAFC Ingressとの間にTLSコネクションを確立し(ステップS248)、図73に示すAFC FeedbackパケットをAFC Ingressに送信し(ステップS249)、最後にAFC Ingressとの間のTLSコネクションを切断する(ステップS250)。AFC Feedbackパケットの各フィールドの値は以下のとおりである。Typeフィールドの値は「AFC Feedback」である。AFC IDフィールドの値はAFCID-3である。No of AFsフィールドの値は2である。これに続く4つのフィールドはAF Node-4-1に関するものである。AF IDフィールドの値はAFID-4である。AF Node IP Addressの値はIP-afn4-1である。In TimestampフィールドとOut Timestampフィールドには、受信したAFCデータパケットのAFCヘッダの対応するAFのIn TimestampフィールドとOut Timestampフィールドとの値をそれぞれ設定する。続く4つのフィールドはAF Node-5-1に関するものであり、上記と同様に設定される。Ingress Out Timestampフィールドには、受信したAFCデータパケットの対応するフィールドの値が設定される。Egress In Timestampフィールドには、AFC EgressがAFCデータパケットを受信したときの時刻が設定される。
AFC IngressはAFC Feedbackパケットを受信すると、図74に示すテーブルを保持する。
Ingress AFC Path List Tableの各フィールドの値は以下の通りである。AFC IDフィールドの値はAFCID-3である。No of AFsフィールドの値は2である。ptr to AFC Path List Entryフィールドの値は、Ingress AFC Path list Entryへのポインタである。Ingress Out Timestampフィールドの値は、AFC Feedbackパケットの対応するフィールドの値であるTSout-ingressである。Egress In Timestampフィールドの値は、AFC Feedbackパケットの対応するフィールドの値であるTSin-egressである。ptr to Next AFC Path List Tableの値は[null]である。
Ingress AFC Path List Entryの各フィールドの値は以下の通りである。AFC IngressはAFC Feedbackパケットの対象となったAFCパスの識別子としてAFCPID-afc3-1を割当て、これをAFC Path IDフィールドに格納する。ptr to AF Node TS Tableの値は、Ingress AF Node TS Tableへのポインタである。ptr to Next AFC Path List Entryの値は[null]である。AFC IngressがAFC-3に関する別のAFCパスに関するAFC Feedbackパケットを受信すると、新たにIngress AFC Path List Entryを作成し、このIngress AFC Path List Entryへのポインタを上記のptr to Next AFC Path List Entryに格納する。
2つあるIngress AFC Node TS Tableのうち左側のものはAF Node-4-1に関するものであり、右側のものはAFNode-5-1に関するものである。
AF Node-4-1に関するIngress AF Node TS Tableの各フィールドの値は以下の通りである。ptr to Next AF Node TS Tableフィールドの値は、AF Node-5-1に関するAF Node TS Tableへのポインタである。AF IDフィールドの値はAFID-4である。AF Node IP Addressフィールドの値はAF Node-4-1のIPアドレスであるIP-afn4-1である。In Timestampフィールドの値は、AFC Feedbackパケットの対応するIn Timestampフィールドの値であるTSin-afn4-1である。Out Timestampフィールドの値は、AFC Feedbackパケットの対応するOut Timestampフィールドの値であるTSout-afn4-1である。
AF Node-5-1に関するIngress AF Node TS Tableの各フィールドの値は以下の通りである。ptr to Next AF Node TS Tableフィールドの値は[null]である。AF IDフィールドの値はAFID-5である。AF Node IP Addressフィールドの値はAF Node-5-1のIPアドレスであるIP-afn5-1である。In Timestampフィールドの値は、AFC Feedbackパケットの対応するIn Timestampフィールドの値であるTSin-afn5-1である。Out Timestampフィールドの値は、AFC Feedbackパケットの対応するOut Timestampフィールドの値であるTSout-afn5-1である。
この例ではAFC-3には4つのAFCパスがあるので、AFC IngressはそれぞれのAFCパスに関するAFC Feedbackパケットを受信すると、対応するIngress AF Node TS Tableを更新する。AFC IngressがCOTS deviceのアプリケーションからAFC-3を適用する元データパケットを受信したとき、AFC IngressはIngress AFC Path List Tableを参照し、AFCパスを選択してもよい。例えば、AFCパス全体の通信時間を考慮することができる。あるいは、AFの処理時間のみを考慮することもできる。また、各ノード間の通信時間のみを考慮することもできる。さらに、特定のAFの処理時間と特定のノード間の通信時間を組み合わせることもできる。
(タイムアウトと、タイムアウトの延長要求)
AFC Managerは一定間隔(例えば1分間隔)でManager User TableのTime to Liveフィールドの値をデクリメントする。デクリメントした結果、Time to Liveフィールドの値が0(タイムアウト)になると、該当するAFC Userに関する全てのテーブルを消去する。上述の状態の場合、AFC User-1に関するManager User TableのTTL-usr1フィールドの値が0になると、AFC ManagerはAFC User-1に関するすべてのテーブルを消去する。
AFC Managerは一定間隔(例えば1分間隔)でManager User TableのTime to Liveフィールドの値をデクリメントする。デクリメントした結果、Time to Liveフィールドの値が0(タイムアウト)になると、該当するAFC Userに関する全てのテーブルを消去する。上述の状態の場合、AFC User-1に関するManager User TableのTTL-usr1フィールドの値が0になると、AFC ManagerはAFC User-1に関するすべてのテーブルを消去する。
AFC User-1は、タイムアウトまでの時間を延長することができる。図75は、AFC User-1によるタイムアウトまでの時間の延長処理を示す説明図である。
まずAFC User-1はAFC Managerとの間にTLSコネクションを確立する(ステップS251)。
続いてAFC User-1は図76に示すTimeout Extension RequestパケットをAFC Managerに送信する(ステップS252)。Timeout Extension Requestパケットの各フィールドの値は以下の通りである。Typeフィールドには「Timeout Extension Request」が設定される。User IDフィールドにはUSRID-1が設定される。AF IDフィールドには、AFC User-1がこの時点において設置済であるAFから1つを選択し、その識別子が設定される。この例ではAFID-4である。AF Certificateフィールドには、AFSKey-af4を用いて生成した証明書情報であるAFCert-af4が設定される。Time to Liveフィールドには、希望する新しいタイムアウト値であるTTL-usr1-2が設定される。
AFC ManagerはTimeout Extension Requestパケットを受信すると、AF Certificateフィールドの値を検証する。AFC Managerは、検証に成功するとTime to Liveフィールドの値を確認し、許可できる新しいアイムアウト値であるTTL-usr1-3を決定する。次にAFC Managerは図77に示すTimeout Extension ResponseパケットをAFC User-1に送信する(ステップS253)。Timeout Extension Responseパケットの各フィールドの値は以下の通りである。Typeフィールドには「Timeout Extension Response」が設定される。Statusフィールドには処理の成功を示す「OK」が設定される。User IDフィールドには、Timeout Extension RequestパケットのUser IDフィールドの値であるUSRID-1が設定される。Time to Liveフィールドには許可できる新しいアイムアウト値であるTTL-usr1-3が設定される。
AFC User-1はTimeout Extension Responseパケットを受信するとAFC Managerとの間のTLSコネクションを切断する(ステップS254)。
[1.3.通信装置の機能構成例]
続いて、本開示の実施の形態に係る各アプリケーションやノードとして機能しうる通信装置の機能構成例を説明する。
続いて、本開示の実施の形態に係る各アプリケーションやノードとして機能しうる通信装置の機能構成例を説明する。
図78は、本開示の実施の形態に係る各ノードとして機能しうる通信装置100の機能構成例を示す説明図である。図78に示した通信装置100は、通信部110、記憶部120および制御部130を含んで構成される。
通信部110は、ノード間の通信を実行する。ノード間の通信は有線であっても良く、無線であっても良い。通信部110からは、上述してきたパケットやメッセージが、制御部130の制御の基で他のノードとの間で、所定のポートより送信および所定のポートで受信される。
記憶部120は、上述してきたAFCのアーキテクチャで用いられる各種情報やプログラムを記憶する。例えば、記憶部120は、上述してきた各種テーブルを記憶する。記憶部120は、各種メモリ、HDD等で構成されうる。
制御部130は、例えばCPU等のプロセッサで構成され、上述してきたAFCのアーキテクチャに基づく処理を実行する。例えば、制御部130は、目的のノードとの間の経路の設定、目的のノードとの間の通信処理、AFノードの追加、変更、削除等が発生した際の処理、AFC-daemonの起動、AFの機能の実行、等を実行する。すなわち、制御部130は、AFC IngressからAFC Egressの間の経路に変更が生じた場合は、新たにAFを設定するためのメッセージを生成する。この変更としては、例えばAFC IngressからAFC Egressとの間で経路を分岐させる場合の変更であってもよい。またこの変更としては、例えばAFC IngressからAFC Egressとの間でAFノードを削除する場合の変更で有ってもよい。また制御部130は、自装置がAFC Ingressであれば、COTS deviceから送られたパケットにAFCヘッダを付与し、自装置がAFC Egressであれば、AFCヘッダが付与されたパケットからAFCヘッダ削除する処理を実行する。
<2.まとめ>
以上説明したように本開示の実施の形態によれば、ネットワーク内でパケットを転送させるサービスにおいて、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることが可能な通信装置が提供される。
以上説明したように本開示の実施の形態によれば、ネットワーク内でパケットを転送させるサービスにおいて、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることが可能な通信装置が提供される。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
例えば、AFC IngressがAFCパスの最初のAF Nodeを兼ねていても良い。すなわち、AFC Ingressと、AFCパスの経路上の最初のAF Nodeが、物理的または論理的に同一の通信装置として構成されてもよい。この場合には、例えば、この通信装置がパケットを受信した際に、まずAFC ingressの動作として、AFC IngressとAFC Egressの間の経路情報が記述されたヘッダ情報をパケットに追加した後に、AF Nodeとしての動作を実行する。AFC IngressとAFC Nodeが同一の通信装置として構成される場合、AFC Ingressの動作の一部が省略されてもよい。例えば、AFC Ingressとして他のノードへパケットを送出する動作を省略して、AF Nodeとしての動作に移ってもよい。また、AFC IngressとAFC Nodeが同一の通信装置として構成される場合、AF Nodeの動作の一部が省略されてもよい。
また例えば、AFC Egressと、経路上の最後のAF Nodeが、物理的または論理的に同一の通信装置として構成されてもよい。この場合には、例えば、この通信装置がパケットを受信した際に、まずAF Nodeとしての動作を実行した後に、AFC Egressの動作として、AFC IngressとAFC Egressの間の経路情報が記述されたヘッダ情報をパケットから削除する。AFC EgressとAFC Nodeが同一の通信装置として構成される場合、AFC Egressの動作の一部が省略されてもよい。例えば、AF Nodeとして他のノードへパケットを送出する動作を省略して、AFC Egressとしての動作に移ってもよい。また、AFC EgressとAFC Nodeが同一の通信装置として構成される場合、AF Nodeの動作の一部が省略されてもよい。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する自装置と、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して、経路中に存在する他のノードへ向けて前記通信部に送出させる、通信装置。
(2)
自装置と前記目的ノードとの間の経路情報には、少なくとも、前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、前記(1)に記載の通信装置。
(3)
前記処理の内容は、前記中継ノードの次のノードの選択である、前記(2)に記載の通信装置。
(4)
自装置と前記目的ノードとの間の経路情報には、さらに、前記中継ノードでの証明書情報が記述される、前記(2)または(3)に記載の通信装置。
(5)
前記制御部は、複数の前記中継ノードの負荷の情報に基づいて、複数の前記中継ノードの中から一の前記中継ノードを選択する、前記(2)~(4)のいずれかに記載の通信装置。
(6)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに付加された、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する自装置までの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記通信部に送出させる、通信装置。
(7)
前記開始ノードから自装置までの間の経路情報には、少なくとも、自装置までの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、前記(6)に記載の通信装置。
(8)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを前記通信部に送出させる、通信装置。
(9)
前記開始ノードと前記目的ノードとの間の経路情報には、少なくとも、前記開始ノードと前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、前記(8)に記載の通信装置。
(10)
前記処理の内容は、前記中継ノードの次のノードの選択である、前記(9)に記載の通信装置。
(11)
前記開始ノードと前記目的ノードとの間の経路情報には、さらに、前記中継ノードでの証明書情報が記述される、前記(9)または(10)に記載の通信装置。
(12)
前記制御部は、複数の前記中継ノードの負荷の情報に基づいて、複数の前記中継ノードの中から一の前記中継ノードを選択する、前記(9)~(11)のいずれかに記載の通信装置。
(13)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、開始ノードと目的ノードとの間の経路情報を生成し、
前記開始ノードは、前記開始ノードと前記目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加するノードであり、
前記目的ノードは、前記ヘッダ情報を削除するノードであり、
前記開始ノードと前記目的ノードとの間の経路情報は、少なくとも、前記開始ノードと前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、通信装置。
(14)
前記処理の内容は、前記中継ノードの次のノードの選択である、前記(13)に記載の通信装置。
(15)
前記開始ノードと前記目的ノードとの間の経路情報は、さらに、前記中継ノードでの証明書情報が記述される、前記(13)または(14)に記載の通信装置。
(16)
他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して経路中に存在する他のノードへ向けて送出させる、通信方法。
(17)
他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記他のノードへ向けて送出させる、通信方法。
(18)
他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを送出させる、通信方法。
(19)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、ヘッダ情報を追加して前記通信部に送出させる、通信装置で用いられ、
前記ヘッダ情報として、開始ノードと目的ノードとの間の前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも備える、データ構造。
(1)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する自装置と、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して、経路中に存在する他のノードへ向けて前記通信部に送出させる、通信装置。
(2)
自装置と前記目的ノードとの間の経路情報には、少なくとも、前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、前記(1)に記載の通信装置。
(3)
前記処理の内容は、前記中継ノードの次のノードの選択である、前記(2)に記載の通信装置。
(4)
自装置と前記目的ノードとの間の経路情報には、さらに、前記中継ノードでの証明書情報が記述される、前記(2)または(3)に記載の通信装置。
(5)
前記制御部は、複数の前記中継ノードの負荷の情報に基づいて、複数の前記中継ノードの中から一の前記中継ノードを選択する、前記(2)~(4)のいずれかに記載の通信装置。
(6)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに付加された、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する自装置までの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記通信部に送出させる、通信装置。
(7)
前記開始ノードから自装置までの間の経路情報には、少なくとも、自装置までの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、前記(6)に記載の通信装置。
(8)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを前記通信部に送出させる、通信装置。
(9)
前記開始ノードと前記目的ノードとの間の経路情報には、少なくとも、前記開始ノードと前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、前記(8)に記載の通信装置。
(10)
前記処理の内容は、前記中継ノードの次のノードの選択である、前記(9)に記載の通信装置。
(11)
前記開始ノードと前記目的ノードとの間の経路情報には、さらに、前記中継ノードでの証明書情報が記述される、前記(9)または(10)に記載の通信装置。
(12)
前記制御部は、複数の前記中継ノードの負荷の情報に基づいて、複数の前記中継ノードの中から一の前記中継ノードを選択する、前記(9)~(11)のいずれかに記載の通信装置。
(13)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、開始ノードと目的ノードとの間の経路情報を生成し、
前記開始ノードは、前記開始ノードと前記目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加するノードであり、
前記目的ノードは、前記ヘッダ情報を削除するノードであり、
前記開始ノードと前記目的ノードとの間の経路情報は、少なくとも、前記開始ノードと前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、通信装置。
(14)
前記処理の内容は、前記中継ノードの次のノードの選択である、前記(13)に記載の通信装置。
(15)
前記開始ノードと前記目的ノードとの間の経路情報は、さらに、前記中継ノードでの証明書情報が記述される、前記(13)または(14)に記載の通信装置。
(16)
他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して経路中に存在する他のノードへ向けて送出させる、通信方法。
(17)
他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記他のノードへ向けて送出させる、通信方法。
(18)
他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを送出させる、通信方法。
(19)
他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、ヘッダ情報を追加して前記通信部に送出させる、通信装置で用いられ、
前記ヘッダ情報として、開始ノードと目的ノードとの間の前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも備える、データ構造。
100 通信装置
110 通信部
120 記憶部
130 制御部
110 通信部
120 記憶部
130 制御部
Claims (19)
- 他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する自装置と、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して、経路中に存在する他のノードへ向けて前記通信部に送出させる、通信装置。 - 自装置と前記目的ノードとの間の経路情報には、少なくとも、前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、請求項1に記載の通信装置。
- 前記処理の内容は、前記中継ノードの次のノードの選択である、請求項2に記載の通信装置。
- 自装置と前記目的ノードとの間の経路情報には、さらに、前記中継ノードでの証明書情報が記述される、請求項2に記載の通信装置。
- 前記制御部は、複数の前記中継ノードの負荷の情報に基づいて、複数の前記中継ノードの中から一の前記中継ノードを選択する、請求項2に記載の通信装置。
- 他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに付加された、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する自装置までの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記通信部に送出させる、通信装置。 - 前記開始ノードから自装置までの間の経路情報には、少なくとも、自装置までの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、請求項6に記載の通信装置。
- 他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを前記通信部に送出させる、通信装置。 - 前記開始ノードと前記目的ノードとの間の経路情報には、少なくとも、前記開始ノードと前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、請求項8に記載の通信装置。
- 前記処理の内容は、前記中継ノードの次のノードの選択である、請求項9に記載の通信装置。
- 前記開始ノードと前記目的ノードとの間の経路情報には、さらに、前記中継ノードでの証明書情報が記述される、請求項9に記載の通信装置。
- 前記制御部は、複数の前記中継ノードの負荷の情報に基づいて、複数の前記中継ノードの中から一の前記中継ノードを選択する、請求項9に記載の通信装置。
- 他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
を備え、
前記制御部は、開始ノードと目的ノードとの間の経路情報を生成し、
前記開始ノードは、前記開始ノードと前記目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加するノードであり、
前記目的ノードは、前記ヘッダ情報を削除するノードであり、
前記開始ノードと前記目的ノードとの間の経路情報は、少なくとも、前記開始ノードと前記目的ノードとの間に存在する少なくとも一つの中継ノードとの通信に関する情報と、前記中継ノードに実行させる機能の情報と、前記中継ノードでの前記機能の実行結果に応じた処理の内容と、が記述される、通信装置。 - 前記処理の内容は、前記中継ノードの次のノードの選択である、請求項13に記載の通信装置。
- 前記開始ノードと前記目的ノードとの間の経路情報は、さらに、前記中継ノードでの証明書情報が記述される、請求項13に記載の通信装置。
- 他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を追加して経路中に存在する他のノードへ向けて送出させる、通信方法。 - 他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも記述されたヘッダ情報を削除して前記他のノードへ向けて送出させる、通信方法。 - 他のノードとの間の通信を実行することと、
前記他のノードとの間の通信を制御することと、
を備え、
前記制御することは、送信元ノードが送信先ノードへ向けたパケットに、前記送信元ノードの後段に位置する開始ノードから前記送信先ノードの前段に位置する目的ノードまでの間の経路情報が少なくとも記述されたヘッダ情報が付加されたデータを参照して次ノードを決定し、決定した前記次ノードへ向けて前記データを送出させる、通信方法。 - 他のノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と、
前記制御部は、送信元ノードが送信先ノードへ向けたパケットに、ヘッダ情報を追加して前記通信部に送出させる、通信装置で用いられ、
前記ヘッダ情報として、開始ノードと目的ノードとの間の前記送信元ノードの後段に位置する開始ノードと、前記送信先ノードの前段に位置する目的ノードとの間の経路情報が少なくとも備える、データ構造。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/285,779 US12058116B2 (en) | 2018-10-25 | 2019-10-01 | Communication device, communication method, and data structure |
CN201980068302.3A CN112956163B (zh) | 2018-10-25 | 2019-10-01 | 通信装置以及通信方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018201037 | 2018-10-25 | ||
JP2018-201037 | 2018-10-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020085014A1 true WO2020085014A1 (ja) | 2020-04-30 |
Family
ID=70331049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/038811 WO2020085014A1 (ja) | 2018-10-25 | 2019-10-01 | 通信装置、通信方法及びデータ構造 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12058116B2 (ja) |
CN (1) | CN112956163B (ja) |
WO (1) | WO2020085014A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009041319A1 (ja) * | 2007-09-25 | 2009-04-02 | Nec Corporation | 証明書生成配布システム、証明書生成配布方法および証明書生成配布用プログラム |
US20110055845A1 (en) * | 2009-08-31 | 2011-03-03 | Thyagarajan Nandagopal | Technique for balancing loads in server clusters |
WO2015080634A1 (en) * | 2013-11-26 | 2015-06-04 | Telefonaktiebolaget L M Ericsson (Publ) | A method and system of supporting service chaining in a data network |
JP2016225877A (ja) * | 2015-06-01 | 2016-12-28 | 日本電信電話株式会社 | サービス提供システム、サービス提供方法、およびサービス提供プログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60225741T2 (de) * | 2001-02-15 | 2009-04-09 | Oki Electric Industry Co., Ltd. | Netzwerkverwaltungssystem |
JP4504083B2 (ja) * | 2003-04-28 | 2010-07-14 | 株式会社リコー | デジタル証明書管理システム、デジタル証明書管理装置、デジタル証明書管理方法、更新手順決定方法およびプログラム |
WO2006095726A1 (ja) * | 2005-03-11 | 2006-09-14 | Brother Kogyo Kabushiki Kaisha | 情報配信システム、ノード装置、及び解除データ発行方法等 |
EP2022229B1 (en) * | 2006-05-24 | 2009-11-04 | OY LM Ericsson AB | Delegation based mobility management |
US9179318B2 (en) * | 2006-05-24 | 2015-11-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Delegation based mobility management |
CN101163004A (zh) * | 2006-10-13 | 2008-04-16 | 华为技术有限公司 | 一种实现认证的方法和系统 |
US20080159287A1 (en) * | 2006-12-29 | 2008-07-03 | Lucent Technologies Inc. | EFFICIENT PERFORMANCE MONITORING USING IPv6 CAPABILITIES |
CN102498694A (zh) * | 2009-09-14 | 2012-06-13 | 日本电气株式会社 | 通信系统、转发节点、路径管理服务器、通信方法和程序 |
CN103283190A (zh) * | 2010-12-24 | 2013-09-04 | 日本电气株式会社 | 通信系统、控制装置、策略管理装置、通信方法和程序 |
MX355492B (es) * | 2013-02-22 | 2018-04-19 | Sony Corp | Aparato de control de comunicacion, metodo de control de comunicacion y aparato de radiocomunicacion. |
CN107078898A (zh) * | 2014-05-20 | 2017-08-18 | 神秘双八达通有限公司 | 一种在多路径网络上建立安全私人互连的方法 |
JP2016046736A (ja) | 2014-08-25 | 2016-04-04 | 日本電信電話株式会社 | サービスチェイニングシステム、サービスチェイニングフォワーダ装置、及びサービスチェイニング方法 |
CN105745874B (zh) * | 2014-09-01 | 2020-01-10 | 华为技术有限公司 | 一种确定服务功能路径的方法及装置 |
US9787581B2 (en) * | 2015-09-21 | 2017-10-10 | A10 Networks, Inc. | Secure data flow open information analytics |
CN108055205A (zh) * | 2018-01-26 | 2018-05-18 | 武汉理工大学 | 用于实现vdes的路由协议及路由方法 |
-
2019
- 2019-10-01 CN CN201980068302.3A patent/CN112956163B/zh active Active
- 2019-10-01 US US17/285,779 patent/US12058116B2/en active Active
- 2019-10-01 WO PCT/JP2019/038811 patent/WO2020085014A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009041319A1 (ja) * | 2007-09-25 | 2009-04-02 | Nec Corporation | 証明書生成配布システム、証明書生成配布方法および証明書生成配布用プログラム |
US20110055845A1 (en) * | 2009-08-31 | 2011-03-03 | Thyagarajan Nandagopal | Technique for balancing loads in server clusters |
WO2015080634A1 (en) * | 2013-11-26 | 2015-06-04 | Telefonaktiebolaget L M Ericsson (Publ) | A method and system of supporting service chaining in a data network |
JP2016225877A (ja) * | 2015-06-01 | 2016-12-28 | 日本電信電話株式会社 | サービス提供システム、サービス提供方法、およびサービス提供プログラム |
Also Published As
Publication number | Publication date |
---|---|
US12058116B2 (en) | 2024-08-06 |
CN112956163B (zh) | 2023-06-30 |
CN112956163A (zh) | 2021-06-11 |
US20210392123A1 (en) | 2021-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8146133B2 (en) | Apparatus and method for managing P2P traffic | |
US8296437B2 (en) | Server-mediated setup and maintenance of peer-to-peer client computer communications | |
US7877506B2 (en) | System, method and program for encryption during routing | |
EP3142327B1 (en) | Intermediate network entity | |
US10313397B2 (en) | Methods and devices for access control of data flows in software defined networking system | |
WO2022151867A1 (zh) | 一种http转https双向透明代理的方法和装置 | |
KR101992976B1 (ko) | Ssh 인증키를 보안 관리하는 ssh 프로토콜 기반 서버 원격 접근 시스템 | |
KR101524659B1 (ko) | 운영 권리들의 원격 승인을 위한 보안 방법 | |
CN109698791B (zh) | 一种基于动态路径的匿名接入方法 | |
US10027627B2 (en) | Context sharing between endpoint device and network security device using in-band communications | |
CN111565389B (zh) | 节点管理方法、装置、设备及存储介质 | |
JP2017175462A (ja) | 通信制御装置、通信制御方法、及びプログラム | |
JP2021511613A (ja) | メッセージ・レベル・セキュリティを使用するメッセージングのための装置、方法及び製造品 | |
JP2006185194A (ja) | サーバ装置、通信制御方法及びプログラム | |
US20210176051A1 (en) | Method, devices and computer program product for examining connection parameters of a cryptographically protected communication connection during establishing of the connection | |
WO2020085014A1 (ja) | 通信装置、通信方法及びデータ構造 | |
CN107135226B (zh) | 基于socks5的传输层代理通信方法 | |
WO2019116928A1 (ja) | 通信装置、データ構造、通信方法及びコンピュータプログラム | |
US11582674B2 (en) | Communication device, communication method and data structure | |
WO2019000597A1 (zh) | 一种ip地址隐藏方法及装置 | |
US11563816B2 (en) | Methods for managing the traffic associated with a client domain and associated server, client node and computer program | |
US12028332B2 (en) | Managing decryption of network flows through a network appliance | |
JP6114204B2 (ja) | 通信システム、フィルタリング装置、フィルタリング方法およびプログラム | |
CN116405346A (zh) | 一种vpn通道建立方法、装置、设备及介质 | |
Liu | Residential Network Security: Using Software-defined Networking to Inspect and Label Traffic |
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: 19875227 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19875227 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |