Communication system, controller, router, information processing method, and program

A hardware-implementable GTP-U router in mobile networks addresses throughput issues by routing encapsulated packets to software gateways, enhancing efficiency and performance in packet forwarding.

WO2026023704A1PCT designated stage Publication Date: 2026-01-29SOFTBANK CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/026572
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-26
Filing Date
2025-07-25
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing communication systems face challenges in efficiently forwarding encapsulated packets in mobile networks due to insufficient throughput performance when using software-implemented gateways, particularly in 5G networks where software forwarding may not be sufficient for all packet forwarding between nodes like gNB and UPF.

Method used

Implementing a hardware-implementable GTP-U router between nodes to extract and forward encapsulated packets that meet specific conditions without decapsulating, reducing the processing load on software gateways by routing them to a software-implemented fallback gateway for further processing.

Benefits of technology

Enhances forwarding throughput performance by offloading processing-intensive tasks to hardware routers, ensuring efficient packet forwarding in mobile networks without the limitations of software-based systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025026572_29012026_PF_FP_ABST
    Figure JP2025026572_29012026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a communication system comprising a controller, a first router, and a second router. The controller includes: a storage unit that stores path information advertised from the second router; a policy conversion unit that converts, into an IP address, the result of applying a policy to session information received from a first network; and an advertising unit that searches the storage unit using as a key the IP address obtained by the conversion by the policy conversion unit, and if there is a match, advertises by linking tunnel destination information included in the session information with transfer information included in the matching path information. The first router includes a transfer unit that receives a second packet obtained by encapsulating a first packet, and transfers the second packet on the basis of the tunnel destination information including the transfer information advertised by the controller, without releasing the encapsulation of the second packet.
Need to check novelty before this filing date? Find Prior Art

Description

COMMUNICATION SYSTEM, CONTROLLER, ROUTER, INFORMATION PROCESSING METHOD, AND PROGRAM

[0001] The present invention relates to a communication system, a controller, a router, an information processing method, and a program.

[0002] Patent Document 1 describes an ULCL UPF (Uplink Classifier User Plane Function). [Prior art documents] [Patent documents] [Patent document 1] JP 2021-175108 A General disclosure

[0003] According to one embodiment of the present invention, a communication system is provided. The communication system may include a controller, a first router, and a second router. The controller may include a storage unit that stores route information advertised by the second router. The controller may include a policy conversion unit that converts the result of applying a policy to session information received from a first network into an IP (Internet Protocol) address. The controller may include an advertising unit that searches the storage unit using the IP address converted by the policy conversion unit as a key, and, if a match is found, associates tunnel destination information included in the session information with forwarding information included in the matched route information and advertises the result. The first router may include a forwarding unit that receives a second packet encapsulating a first packet, and forwards the second packet based on the tunnel destination information including the forwarding information advertised by the controller without decapsulating the second packet.

[0004] In the communication system, the storage unit may be a routing table including VRF (Virtual Routing and Forwarding), the policy conversion unit may apply a policy to the session information for each VRF, and the advertising unit may perform a search for each VRF using the IP address as a key, and advertise the matching route information by linking it with the forwarding information contained therein. In the communication system, the first network may be a mobile network, and the second packet may be encapsulated with an IP header, a User Datagram Protocol (UDP) header, and a General Packet Radio Service (GPRS) Tunneling Protocol for User Plane (GTP-U) header, and the forwarding unit may forward the received second packet based on the tunnel destination information including the forwarding information advertised by the controller, without decapsulating the IP header, the UDP header, and the GTP-U header of the second packet. The session information may include a network instance, a DNN (Data Network Name), a pre-defined rule, an Application-ID, and slice identification information (NSSAI, S-NSSAI), an IP address of a user terminal of the mobile network, an IP address and TEID (Tunnel Endpoint IDentifier) ​​of a gNB (gNodeB), and an IP address and TEID of a UPF (User Plane Function). The tunnel destination information may be the IP address of the UPF, or the IP address and TEID of the UPF (User Plane Function), included in the session information, and the tunnel destination information may be the IP address of the gNB (gNodeB), or the IP address and TEID (Tunnel Endpoint IDentifier) ​​of the gNB (gNodeB).The policy conversion unit may convert the policy application result into the IP address when a policy having at least one of a network instance, a DNN (Data Network Name), a pre-defined rule, an Application-ID, slice identification information (NSSAI, S-NSSAI), tunnel destination information, and an IP prefix including an IP address of a UPF or a gNB, or a combination of two or more of these, matches the session to which the policy is to be applied. Furthermore, a policy may be applied to the session in which the IP address converted by the policy conversion unit is the IP address of the gNB (gNodeB) or the IP address of the UPF included in the tunnel destination information. Alternatively, a policy may be applied to the session information in which the IP address converted by the policy conversion unit is the IP address of a fallback gateway. The policy conversion unit may apply a policy to the session information in which the IP address converted by the policy conversion unit is the Next Hop when any one or more pieces of information included in the session information match the conditions defined by the policy. The forwarding unit may forward the second packet based on the forwarding information advertised in association with the tunnel destination information including the forwarding information. The Next Hop may be a parameter name that sets the IP address converted by the policy conversion unit according to the policy, or may be another name for equivalent purposes. The Next Hop may also be the Next Hop in a routing protocol such as BGP.The session information may include an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF. The policy conversion unit may apply a policy to the session information that defines the IP address that will be the next hop when the destination matches at least one of the network instance, DNN, pre-defined rule, Application-ID, and slice identification information included in the session information, to convert the IP address to the IP address of the next hop. The forwarding unit may forward the second packet according to the forwarding information based on the tunnel destination information including the forwarding information. The forwarding unit may determine whether to forward the second packet to the UPF or the fallback gateway based on the destination included in the IP header of the second packet and the TEID included in the GTP-U header of the second packet. In any of the communication systems, the session information may include a core network instance, an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF, and the policy conversion unit may apply a policy to the session information that converts the IP address of the UPF included in the session information to the IP address when the core network instance included in the session information matches a predetermined value, thereby converting the IP address of the UPF included in the session information to the IP address.The memory unit may have a fallback VRF that associates the IP address of the UPF with the IP address of a fallback gateway, and the policy that converts the IP address of the UPF included in the session information to the IP address when the core network instance included in the session information matches a predetermined value may include specification of the fallback VRF, and the advertising unit may search for the fallback VRF specified by the policy using the IP address converted by the policy conversion unit as a key, and if there is a match, advertise the IP address and TEID of the UPF included in the session information by linking them with the IP address of the fallback gateway. In any of the communication systems, the session information may include an access network instance, an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF, and the policy conversion unit may apply a policy to the session information that converts the IP address of the gNB included in the session information to the IP address when the access network instance included in the session information matches a predetermined value, thereby converting the IP address of the gNB included in the session information to the IP address. The memory unit may have a fallback VRF that associates the IP address of the gNB with the IP address of a fallback gateway, and the policy that converts the IP address of the gNB included in the session information to the IP address when the access network instance included in the session information matches a predetermined value may include specification of the fallback VRF, and the advertising unit may search for the fallback VRF specified by the policy using the IP address converted by the policy conversion unit as a key, and if there is a match, advertise the IP address and TEID of the gNB included in the session information by linking them with the IP address of the fallback gateway.

[0005] In any of the communication systems, the type of route advertised by the controller may be a Border Gateway Protocol (BGP) Virtual Private Network (VPN) route.

[0006] In any of the communication systems, the type of route advertised by the controller may be a BGP Mobile User Plane (MUP) route. The BGP MUP route may be a Type 2 Session Transformed Route (ST2). The controller may advertise an MUP community of a BGP extended community attribute without associating it with the Type 2 Session Transformed Route (ST2), and instruct the router to forward the second packet without decapsulating an IP header, a UDP header, and a GTP-U header.

[0007] In any of the communication systems, the type of route advertised by the second router may be a BGP (Border Gateway Protocol) VPN (Virtual Private Network) route that includes an IP prefix that has within its range the IP address of a gNB or UPF.

[0008] In any of the communication systems, the type of route advertised by the second router may be a BGP Mobile User Plane (MUP) route that includes an IP prefix that has within its range the IP address of a gNB or UPF.

[0009] In any of the communication systems, the forwarding information included in the route information advertised by the second router may be a segment routing SID (Segment IDentifier). The SID may be an SRv6 SID. The SID may be an SR-MPLS SID.

[0010] In any of the above communication systems, the forwarding information included in the route information advertised by the second router may be an MPLS (Multi Protocol Label Switching) label.

[0011] In any of the communication systems, the information to which the policy is applied and included in the session information may have at least one of an IP address of a user terminal of a mobile network, an IP address of a gNB, and an IP address of a UPF as a source address. In any of the communication systems, the information to which the policy is applied and included in the session information may include at least one of a network instance, a DNN (Data Network Name), a pre-defined rule, an Application-ID, and slice identification information.

[0012] According to one embodiment of the present invention, there is provided a controller. The controller may include a storage unit that stores route information advertised from a router. The controller may include a policy conversion unit that converts the result of applying a policy to session information received from a first network into an IP address. The controller may include an advertising unit that searches the storage unit using the policy-converted IP address as a key, and, if a match is found, advertises tunnel destination information included in the session information by linking it with forwarding information included in the matched route information. In the controller, the first network may be a mobile network, the memory unit may store an ISD (Interwork Segment Discovery) route, the session information may include a core network instance, an access network instance, an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF, the policy conversion unit may apply to the session information a policy that converts the IP address of the UPF or the IP address of the gNB included in the session information to the IP address when the core network instance or the access network instance included in the session information matches a predetermined value, thereby converting the IP address of the UPF or the IP address of the gNB included in the session information to the IP address, and the advertising unit may search for the ISD route stored in the memory unit using the IP address converted by the policy conversion unit as a key, and if there is a match, advertise the tunnel destination information included in the session information by linking it with the forwarding information included in the ISD route.

[0013] According to one embodiment of the present invention, there is provided a router. The router may include an advertising unit that advertises route information. The router may include an acquisition unit that stores the route information in a storage unit, converts the result of applying a policy to session information received from a first network into an IP address, searches the storage unit using the IP address as a key, and, if a match is found, acquires tunnel destination information contained in the advertised session information and forwarding information contained in the matched route information. The router may include a forwarding unit that receives a second packet encapsulating a first packet, and forwards the second packet based on the tunnel destination information including the forwarding information acquired by the acquisition unit without decapsulating the second packet.

[0014] According to one embodiment of the present invention, there is provided an information processing method executed by a controller. The information processing method may include a storage step of storing route information advertised from a router in a storage unit. The information processing method may include a policy conversion step of converting the result of applying a policy to session information received from a first network into an IP address. The information processing method may include an advertising step of searching the storage unit using the IP address converted in the policy conversion step as a key, and, if there is a match, advertising the tunnel destination information included in the session information by linking it with forwarding information included in the matched route information.

[0015] According to one embodiment of the present invention, there is provided a program for causing a computer to execute the following steps: a storage step of storing route information advertised from a router in a storage unit; a policy conversion step of converting the result of applying a policy to session information received from a first network into an IP address; and an advertising step of searching the storage unit using the IP address converted in the policy conversion step as a key, and, if there is a match, advertising tunnel destination information included in the session information in association with forwarding information included in the matched route information.

[0016] According to one embodiment of the present invention, there is provided an information processing method executed by a router. The information processing method may include an advertising step of advertising route information. The information processing method may include an acquisition step in which a controller stores the route information in a storage unit, converts the result of applying a policy to session information received from a first network into an IP address, searches the storage unit using the IP address as a key, and, if a match is found, acquires tunnel destination information contained in the advertised session information and forwarding information contained in the matched route information. The information processing method may include a forwarding step of receiving a second packet encapsulating a first packet, and forwarding the second packet based on the tunnel destination information including the forwarding information acquired in the acquisition step, without decapsulating the second packet.

[0017] According to one embodiment of the present invention, there is provided a program for causing a computer to execute an advertising step of advertising route information, an acquisition step of storing the route information in a storage unit, converting a result of applying a policy to session information received from a first network into an IP address, searching the storage unit using the IP address as a key, and, if a match is found, acquiring tunnel destination information contained in the advertised session information and forwarding information contained in the matched route information, and a forwarding step of receiving a second packet encapsulating a first packet and forwarding the second packet based on the tunnel destination information including the forwarding information acquired in the acquisition step, without decapsulating the second packet.

[0018] The above summary of the invention does not list all of the necessary features of the present invention, and subcombinations of these features may also constitute inventions.

[0019] 1 is a block diagram showing an example of a communication system 10; FIG. 1 is an explanatory diagram illustrating an example of a processing flow in the communication system 10; FIG. 1 is a block diagram showing an example of a functional configuration of a controller 100; FIG. 1 is a block diagram showing an example of a functional configuration of a router 200; FIG. 1 is a block diagram showing an example of a communication system 10 when applied to a 5G (5th Generation) mobile communication system; FIG. 2 is an explanatory diagram illustrating an example of a processing flow in the communication system 10 when applied to a 5G mobile communication system; FIG. 2 is an explanatory diagram illustrating an example of a processing flow in the communication system 10 when applied to a 5G mobile communication system; FIG. 3 is an explanatory diagram illustrating an example of the configurations of packets 402 and 502; FIG. 3 is a block diagram showing an example of a communication system 10 when applied to an SR (Segment Routing) network; 10 and 11. FIG. 12 is an explanatory diagram for explaining the processing contents of an FBGW (Fall Back GateWay) 300. FIG. 13 is a schematic diagram showing an example of the functional configuration of the FBGW 300. FIG. 14 is a schematic diagram showing an example of the hardware configuration of a computer 1200 that functions as the controller 100, the router 200, or the FBGW 300.

[0020] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention as claimed. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.

[0021] A network is known in which a node (sometimes referred to as a first node) that receives a packet generated by a communication terminal encapsulates the packet, forwards the encapsulated packet containing the packet as an inner packet to a node (sometimes referred to as a second node) connected to a network where a communication partner is located, decapsulates the encapsulated packet at the second node, and transmits the decapsulated packet to the communication partner. In such a network, it may be desirable to extract encapsulated packets that satisfy certain conditions along the route and forward them via a different route. One method for doing this is to place a software-implemented gateway between the first node and the second node, and check and extract the contents of the inner packet at the gateway. However, because this is essentially a software forwarding system, there is a concern that the forwarding throughput performance may not be sufficient to intervene in the forwarding of all packets between the first node and the second node. Therefore, in the communication system 10 according to the present embodiment, a router that can be implemented in hardware is placed between the first node and the second node, and the router determines whether or not the contents of an encapsulated packet should be checked without decapsulating the encapsulated packet, and transfers the encapsulated packet that it determines should be checked to a GW implemented in software, thereby reducing the processing load on the GW.

[0022] As a specific example, the communication system 10 is applied to a mobile network using GTP-U. For example, in a 5G network, if a software-implemented FBGW is placed between a gNB and a UPF, the forwarding will basically be software, so there is a concern that the forwarding throughput performance will not be sufficient to intervene in all packet forwarding between the gNB and the UPF. In contrast, in the communication system 10, a hardware-implementable GTP-U router is placed between the gNB and the UPF, and the GTP-U router extracts GTP-U packets that meet the conditions based on the IP header and GTP-U header of the GTP-U packet without decapsulating the GTP-U packet, and forwards them to the FBGW.

[0023] 1 schematically illustrates an example of a communication system 10. The communication system 10 includes a controller 100. The communication system 10 includes a router 200. The communication system 10 may include an FBGW 300.

[0024] One or more communication terminals 40 are connected to node 50. A network 80 external to communication system 10 is connected to node 60. Nodes 50 and 60 relay communications between communication terminals 40 and communication partners in the external network 80. Packets are encapsulated and transferred between node 50 and node 60.

[0025] For example, node 50 encapsulates a packet received from communication terminal 40 and transmits the encapsulated packet containing the packet as an inner packet to node 60. Node 60 decapsulates the encapsulated packet received from node 50 to extract the inner packet, and transmits the inner packet to a communication partner on network 80.

[0026] One or more routers 200 are disposed between the node 50 and the node 60. The router 200 may be a router implemented by hardware. The router 200 may be a PE (Provider Edge) router. When one router 200 is disposed, the router 200 may be an example of a first router. In this case, a router that advertises routes to the controller 100 may be separately disposed, and the router 200 may be an example of a second router. When multiple routers 200 are disposed, one of the multiple routers 200 may be an example of a first router, and the other of the multiple routers 200 may be an example of a second router. When multiple routers 200 are disposed, at least one of the multiple routers 200 may be an example of a first router, and a router that advertises routes to the controller 100 may be separately disposed, and the router 200 may be an example of a second router.

[0027] The controller 100 configures the router 200 so that encapsulated packets that do not satisfy the conditions are relayed between the node 50 and the node 60, and encapsulated packets that satisfy the conditions are extracted and forwarded to the FBGW 300. In accordance with the configuration by the controller 100, the router 200 relays encapsulated packets that do not satisfy the conditions between the node 50 and the node 60, and forwards encapsulated packets that satisfy the conditions to the FBGW 300.

[0028] The FBGW 300 checks the inner packet of the encapsulated packet forwarded from the router 200, and if the inner packet should be sent to the server 70, it sends the inner packet to the server 70, and if the inner packet should not be sent to the server 70, it sends the encapsulated packet to the node 60. The FBGW 300 may check the destination of the inner packet. The FBGW 300 may check the contents of the inner packet, including the destination. The FBGW 300 may be an example of a second router.

[0029] 2 is an explanatory diagram illustrating an example of a processing flow in the communication system 10. Here, the description will be given assuming that the IP address of node 50 is "1.1.1.1", the IP address of node 60 is "2.2.2.2", and the IP address of FBGW 300 is "3.3.3.3". Note that the IP addresses and TEIDs in this example are described for convenience of explanation and differ from the actual values.

[0030] The node 50 may be an example of a second router and may advertise route information of its own node 50. The node 60 may be an example of a second router and may advertise route information of its own node 60. The router 200 may be an example of a second router and may advertise route information of its own router 200. The FBGW 300 may be an example of a second router and may advertise route information of its own FBGW 300. The external network 80 may advertise route information of its own external network 80. The router 200 may advertise route information of the node 50, the node 60, the FBGW 300, and the external network 80 on behalf of each node. The node 50, the node 60, the FBGW 300, and the external network 80 may each be connected to a different router 200. The router 200 may not be directly connected to the node 50, the node 60, the FBGW 300, or the external network 80, but may be connected only to other routers 200 or other types of nodes. The router 200 may receive and store the route information of the node 50, the route information of the node 60, the route information of the FBGW 300, and the route information of the external network 80 advertised by other routers 200.

[0031] The controller 100 stores route information advertised from the router 200 or the like. The controller 100 may store route information advertised from a second router such as the FBGW 300. The controller 100 may store route information of the network 80 advertised from the router 200 or the like. In the example shown in FIG. 2 , the controller 100 may store route information of the router 200, route information of the node 50, route information of the node 60, and route information of the FBGW 300, etc. The controller 100 may store this route information in a routing table. The routing table may be a VRF. The controller 100 may use multiple VRFs and use different VRFs referenced by the policies of the policy conversion unit for each purpose. The controller 100 may store route information advertised from different FBGWs 300 or the like in different VRFs corresponding to each VRF. Different FBGWs 300 or the like may advertise route information by adding different corresponding attribute information to the route information. The controller 100 may store route information having different attribute information received from different FBGWs 300, etc., in different VRFs corresponding to the respective attribute information. The attribute information may be a BGP community attribute. The BGP community attribute may be a BGP extended community attribute. The BGP extended community attribute may be a route target. The BGP extended community attribute may be an MUP community.

[0032] The controller 100 receives session information 102 of the communication terminal 40 from a network to which the communication terminal 40 belongs. For example, when the communication terminal 40 belongs to a mobile network, the controller 100 receives the session information 102 of the communication terminal 40 from the mobile network to which the communication terminal 40 belongs. In the example shown in Fig. 2 , the session information 102 includes the IP address of the communication terminal 40, the IP address and TEID of the node 50 corresponding to the communication terminal 40, and the IP address and TEID of the node 60 corresponding to the communication terminal 40. The tunnel destination information corresponding to the session information 102 includes two pieces of information: the IP address and TEID of the node 50, and the IP address and TEID of the node 60.

[0033] The controller 100 converts the result of applying the policy 104 to the session information 102 into an IP address. In the example shown in Fig. 2, a fallback policy, policy 104 that sets the NextHop to "3.3.3.3" when the destination is "2.2.2.2" and the source is "1.1.1.0 / 24", is registered in the controller 100. In the example shown in Fig. 2, when the tunnel destination information in the session information 102 is the IP address and TEID of the node 60, the controller 100 converts the result of applying the policy 104 into the IP address "3.3.3.3".

[0034] The controller 100 searches its own storage unit using the converted IP address "3.3.3.3" as a key, and if a match is found, associates the tunnel destination information included in the session information 102 with the forwarding information included in the matching route information and advertises the result. In the example shown in FIG. 2 , the controller 100 searches its own storage unit using the IP address "3.3.3.3" as a key, finds a match with the FBGW 300, and advertises "2.2.2.2, TEID: 0x22222222" as "NextHop: 3.3.3.3," and advertises advertisement information 106 that combines the SID and MPLS label of the forwarding information. The router 200 that receives the advertisement information 106 forwards packets in accordance with the advertisement information 106.

[0035] For example, node 50 encapsulates packet 42 received from communication terminal 40 and transmits packet 52, which is an encapsulated packet including packet 42 as an inner packet, to router 200. Packet 42 may be an example of a first packet. Packet 52 may be an example of a second packet. Router 200 forwards packet 52 based on the forwarding information and tunnel destination information in advertisement information 106.

[0036] If the header of the packet 52 indicates that the destination is “2.2.2.2, TEID: 0x22222222”, the condition is met, and the router 200 forwards the packet 52 to the FBGW 300. If the router 200 determines that the header of the packet 52 does not satisfy the condition, the router 200 forwards the packet 52 to the node 60.

[0037] The FBGW 300 checks the header of the packet 42 included in the packet 52, and if the destination is the server 70, forwards the packet 42 to the server 70. If the destination is not the server 70, the FBGW 300 may forward the packet 52 to the node 60.

[0038] 3 shows an example of the functional configuration of the controller 100. The controller 100 includes a storage unit 110, a registration unit 112, a route information acquisition unit 114, a policy conversion unit 116, and an advertising unit 118.

[0039] The registration unit 112 performs various registrations. For example, the registration unit 112 registers a policy. The registration unit 112 stores the registered policy in the storage unit 110. The registration unit 112 may update the policy stored in the storage unit 110. The registration unit 112 may delete the policy stored in the storage unit 110.

[0040] For example, the registration unit 112 registers, updates, or deletes a policy in accordance with instructions from an operator. The registration unit 112 may also automatically register, update, or delete a policy depending on the network status.

[0041] The registration unit 112 may register, update, or delete a policy in order to achieve overall optimization in response to, for example, changes in the communication status in the network. For example, the registration unit 112 may register, update, or delete a policy when a new server 70 is added or an existing server 70 is to be shut down.

[0042] The route information acquisition unit 114 acquires route information. The route information acquisition unit 114 may acquire route information advertised from the router 200 as route information advertised from a second router. The route information acquisition unit 114 may acquire route information advertised from the second router. The route information acquisition unit 114 may acquire route information advertised from the node 50 as route information advertised from the second router. The route information acquisition unit 114 may acquire route information advertised from the node 60 as route information advertised from the second router. The route information acquisition unit 114 may acquire route information advertised from the FBGW 300 as route information advertised from the second router. The storage unit 110 stores the route information acquired by the route information acquisition unit 114.

[0043] The policy conversion unit 116 acquires session information of the communication terminal 40 received from a network to which the communication terminal 40 belongs. The policy conversion unit 116 acquires session information of the communication terminal 40 received from, for example, a mobile network to which the communication terminal 40 belongs. When a policy to be applied to the acquired session information is stored in the storage unit 110, the policy conversion unit 116 converts the result of applying the policy to the session information into an IP address. The policy conversion unit 116 may also convert the result of applying the policy to the session information into an IP prefix.

[0044] The advertising unit 118 searches the storage unit 110 using the IP address converted by the policy conversion unit 116 as a key. If the search results in a match, the advertising unit 118 associates the tunnel destination information included in the session information with the forwarding information included in the matching route information and advertises the result. The advertising unit 118 may advertise advertising information including the tunnel destination information and the forwarding information.

[0045] The storage unit 110 may be a routing table including VRFs. The policy conversion unit 116 may apply a policy to session information for each VRF. The advertising unit 118 may perform a search for each VRF using an IP address as a key, and advertise the matching route information by linking it to the forwarding information included in the route information.

[0046] 4 shows an example of the functional configuration of router 200. Router 200 includes a storage unit 210, a route information acquisition unit 212, an advertisement information acquisition unit 214, and a forwarding unit 216. Router 200 may be an example of a first router.

[0047] The route information acquisition unit 212 acquires route information. The route information acquisition unit 212 may acquire route information advertised from the node 50. The route information acquisition unit 212 may acquire route information advertised from the node 60. The route information acquisition unit 212 may acquire route information advertised from the FBGW 300. The route information acquisition unit 212 may acquire route information of the node 50, the node 60, the FBGW 300, and the external network 80 advertised by another router 200. The storage unit 210 stores the route information acquired by the route information acquisition unit 212.

[0048] The advertising information acquisition unit 214 acquires advertising information advertised by the advertising unit 118. The storage unit 210 stores the advertising information acquired by the advertising information acquisition unit 214. The advertising information acquisition unit 214 may be realized by the route information acquisition unit 212.

[0049] The forwarding unit 216 forwards packets. For example, the forwarding unit 216 receives a packet 52 that encapsulates the packet 42, and forwards the packet 52 based on the tunnel destination information, including forwarding information, contained in the advertisement information stored in the storage unit 210, without decapsulating the packet 52. If the destination in the header of the packet 52 matches the tunnel destination information contained in the advertisement information, the forwarding unit 216 forwards the packet 52 in accordance with the forwarding information contained in the advertisement information. If the destination in the header of the packet 52 does not match the tunnel destination information contained in the advertisement information, the forwarding unit 216 forwards the packet 52 toward the destination in the header of the packet 52.

[0050] The communication system 10 may be applied to any network. For example, the communication system 10 is applied to a mobile network. Here, an example in which the communication system 10 is applied to a 5G mobile communication system will be described.

[0051] 5 is a schematic diagram of an example of a communication system 10 when applied to a 5G mobile communication system. In the example shown in FIG. 5, one or more routers 200 are arranged between a gNB 500, which is an example of a node 50, a UPF 600, which is an example of a node 60, and an FBGW 300.

[0052] One or more UEs 400 are connected to the gNB 500. A DN (Data Network) 82 is connected to the UPF 600. The gNB 500 and the UPF 600 relay communications between the UE 400 and the communication partner of the DN 82. Packets are encapsulated and transferred between the gNB 500 and the UPF 600 using GTP-U.

[0053] For example, the gNB 500 encapsulates a packet received from the UE 400 with an IP header, a UDP header, and a GTP-U header, and transmits the encapsulated packet including the packet as an inner packet to the UPF 600. The UPF 600 decapsulates the encapsulated packet received from the gNB 500 to extract the inner packet, and transmits the inner packet to the communication partner of the DN 82.

[0054] The controller 100 configures the router 200 to relay encapsulated packets that may not be forwarded to the MEC 700 between the gNB 500 and the UPF 600, and to extract and forward encapsulated packets that may be forwarded to the MEC 700 to the FBGW 300. In accordance with the configuration by the controller 100, the router 200 relays encapsulated packets that may not be forwarded to the MEC 700 between the gNB 500 and the UPF 600, and to forward encapsulated packets that may be forwarded to the MEC 700 to the FBGW 300.

[0055] The FBGW 300 checks the inner packet of the encapsulated packet forwarded from the router 200, and if the inner packet should be sent to the MEC 700, sends the inner packet to the MEC 700, and if the inner packet should not be sent to the MEC 700, sends the encapsulated packet to the UPF 600. The FBGW 300 may check the destination of the inner packet. The FBGW 300 may check the contents of the inner packet, including the destination.

[0056] 6 is an explanatory diagram for explaining an example of the processing flow in the communication system 10 when applied to a 5G mobile communication system. Here, the IP address of the gNB 500 is "1.1.1.1", the IP address of the UPF 600 is "2.2.2.2", and the IP address of the FBGW 300 is "3.3.3.3". Note that the IP addresses and TEIDs in this example are described for convenience of explanation and differ from the actual values.

[0057] The gNB 500 may advertise route information of its own gNB 500 as route information to be advertised as a second router. The UPF 600 may advertise route information of its own UPF 600 as route information to be advertised as a second router. The router 200 may advertise route information of its own router 200 as route information to be advertised as a second router. The FBGW 300 may advertise route information of its own FBGW 300 as route information to be advertised as a second router. The external network 80 may advertise route information of its own external network 80. The router 200 may advertise route information of the gNB 500, the UPF 600, the FBGW 300, and the external network 80 on behalf of each node as route information to be advertised as a second router. The gNB 500, the UPF 600, the FBGW 300, and the external network 80 may each be connected to a different router. The router 200 may not be directly connected to the gNB 500, the UPF 600, the FBGW 300, or the external network 80, but may be connected only to other routers or other types of nodes. The router 200 may receive and store route information of the gNB 500, route information of the UPF 600, route information of the FBGW 300, and route information of the external network 80 advertised by other routers.

[0058] The controller 100 stores the route information advertised from the router 200, etc. as route information advertised from the second router. The controller 100 may store the route information advertised from the second router. The controller 100 may store the route information of the network 80 advertised from the router 200, etc. In the example shown in FIG. 6, the controller 100 may store the route information of the router 200, the route information of the gNB 500, the route information of the UPF 600, the route information of the FBGW 300, etc. as route information advertised from the second router.

[0059] The controller 100 receives session information 102 of the UE 400 from the mobile network to which the UE 400 belongs and imports it into the VRF "fallback". The controller 100 may receive the session information 102 of the UE 400 from the core network of the mobile network to which the UE 400 belongs. In the example shown in FIG. 6, the session information 102 includes the IP address of the UE 400, the IP address and TEID of the gNB 500 corresponding to the UE 400, and the IP address and TEID of the UPF 600 corresponding to the UE 400. The tunnel destination information corresponding to the session information 102 includes two pieces of information: the IP address and TEID of the gNB 500, and the IP address and TEID of the UPF 600.

[0060] The controller 100 converts the result of applying the policy 104 to the session information 102 into an IP address. In the example shown in Fig. 6, a fallback policy, in which the next hop is "3.3.3.3" when the destination is "2.2.2.2" and the source is "1.1.1.0 / 24", is registered in the controller 100. In this example, the controller 100 converts the result of applying the policy 104 to the session information 102 into the IP address "3.3.3.3".

[0061] FIG. 7 shows another example. The controller 100 converts the result of applying the policy 105 to the session information 102 into an IP address. In the example shown in FIG. 7 , a fallback policy is registered in the controller 100. In the VRF "fallback," if the network instance or DNN is "fallback" and the tunnel destination information includes the IP address "2.2.2.2," the policy 105 sets the NextHop to "3.3.3.3." In this example, the controller 100 converts the result of applying the policy 105 to the session information 102 into the IP address "3.3.3.3." The fallback policy is written in a format that is independent of a specific VRF and may be applicable to other VRFs.

[0062] The controller 100 searches its own storage unit using the converted IP address "3.3.3.3" as a key, and if a match is found, associates the tunnel destination information included in the session information 102 with the forwarding information included in the matching route information and advertises the associated information. In the example shown in Figures 6 and 7, the controller 100 searches its own storage unit using the IP address "3.3.3.3" as a key, finds a match with the FBGW 300, and advertises the advertisement information 106 that combines "2.2.2.2, TEID: 0x22222222" with NextHop: "3.3.3.3", and forwarding information: SRv6 SID: "S3::".

[0063] The router 200 that receives the advertisement information 106 forwards the packet in accordance with the advertisement information 106. For example, the gNB 500 encapsulates the packet 402 received from the UE 400 and transmits the packet 502, which is an encapsulated packet including the packet 402 as an inner packet, to the router 200. The packet 402 may be an example of a first packet. The packet 502 may be an example of a second packet. The router 200 forwards the packet 502 based on the forwarding information and tunnel destination information of the advertisement information 106. The router 200 may be an example of a first router.

[0064] If the header of the packet 502 indicates that the destination is “2.2.2.2, TEID: 0x22222222”, the condition is met, and the router 200 forwards the packet 502 to the FBGW 300. If the router 200 determines that the header of the packet 502 does not satisfy the condition, the router 200 forwards the packet 502 to the UPF 600.

[0065] The FBGW 300 checks the header of the packet 402 included in the packet 502, and if the destination is the MEC 700, forwards the packet 402 to the MEC 700. If the destination is not the MEC 700, the FBGW 300 may forward the packet 502 to the UPF 600.

[0066] 8 shows an example of the configuration of a packet 402 and a packet 502. The packet 402 includes an IP header 403 and a payload 404. The packet 502 is generated by adding an IP header 503, a UDP header 504, and a GTP-U header 505 to the packet 402.

[0067] The IP header 503 includes a source address and a destination address. When the packet 402 is a packet from the UE 400 side to the DN 82 side, the source address of the IP header 503 is the address of the gNB 500, and the destination address of the IP header 503 is the address of the UPF 600. The UDP header 504 includes a source port number and a destination port number. The GTP-U header 505 includes various fields. The GTP-U header 505 may include a TEID. The GTP-U header 505 may include a QFI (Quality of Service Flow Identifier). The GTP-U header 505 may include a message type, a PDU (Packet Data Unit) type, etc.

[0068] The functions of the controller 100 and the router 200 in the communication system 10 when applied to the 5G mobile communication system shown in Figures 5 to 8 will be described. Here, the parts that differ from the description in Figures 3 and 4 will be mainly described.

[0069] The registration unit 112 performs various registrations. For example, the registration unit 112 registers a policy. The registration unit 112 stores the registered policy in the storage unit 110. The registration unit 112 may update the policy stored in the storage unit 110. The registration unit 112 may delete the policy stored in the storage unit 110. For example, the registration unit 112 registers, updates, or deletes a policy in accordance with instructions from an operator managing the 5G mobile communication system. The registration unit 112 may automatically register, update, or delete a policy depending on the network status. For example, the registration unit 112 registers, updates, or deletes a policy in accordance with changes in the communication status in the 5G mobile communication system to achieve overall optimization. For example, the registration unit 112 may register, update, or delete a policy when a new MEC 700 is added or an existing MEC 700 is to be stopped.

[0070] The route information acquisition unit 114 acquires route information. The route information acquisition unit 114 may acquire route information advertised from the router 200. The route information acquisition unit 114 may acquire route information advertised from the gNB 500. The route information acquisition unit 114 may acquire route information advertised from the UPF 600. The route information acquisition unit 114 may acquire route information advertised from the FBGW 300. The storage unit 110 stores the route information acquired by the route information acquisition unit 114 as route information advertised from the second router.

[0071] Policy conversion unit 116 acquires session information of UE 400 received from a mobile network to which UE 400 belongs. For example, policy conversion unit 116 acquires session information of a PDU session of UE 400. Policy conversion unit 116 may acquire the session information of UE 400 from a session management function (SMF) of the mobile network to which UE 400 belongs.

[0072] The session information includes the IP address of UE 400. The session information includes the IP address and TEID of the gNB accommodating UE 400. The session information includes the IP address and TEID of the UPF corresponding to UE 400. The session information may include at least one of a network instance, a DNN, a pre-defined rule, an Application-ID, and slice identification information (NSSAI, S-NSSAI). The session information may include a core network instance. The session information may include an access network instance.

[0073] If the policy to be applied to the acquired session information is stored in the storage unit 110, the policy conversion unit 116 converts the result of applying the policy to the session information into an IP address. In a case where a policy that sets FBGW300 as the next hop when, for example, at least one of the network instance, DNN, pre-defined rule, Application-ID, and slice identification information (NSSAI, S-NSSAI), or a combination of two or more of these, matches at least one of the network instance, DNN, pre-defined rule, Application-ID, and slice identification information (NSSAI, S-NSSAI) of the session, or a combination of two or more of these, is stored in the storage unit 110, the policy conversion unit 116 converts the result of applying the policy to the session information into the IP address of FBGW300, which is the next hop, when, for example, it matches either one or both of the network instance and DNN included in the session information. For example, when a policy that sets the FBGW 300 as the next hop when the source or destination or both of the information on the source or destination and the source or destination or both match is stored in the storage unit 110, for example, when the IP address of the gNB and the IP address of the UPF included in the session information match the source or destination or both included in the policy, the policy conversion unit 116 converts the result of applying the policy to the session information into the IP address of the FBGW 300, which is the next hop. The policy conversion unit 116 may convert the policy application result into an IP address when a policy having at least one of a network instance, DNN, pre-defined rule, Application-ID, slice identification information (NSSAI, S-NSSAI), tunnel destination information, and an IP prefix including the IP address of the UPF or gNB, or a combination of two or more of these, matches the session to which the policy is to be applied.In addition, a policy may be applied to the session in which the IP address converted by the policy conversion unit 116 is the IP address of the gNB or the IP address of the UPF included in the tunnel destination information. Also, a policy may be applied to the session information in which the IP address converted by the policy conversion unit 116 is the IP address of the fallback gateway. The policy conversion unit 116 may apply a policy to the session information in which the IP address converted by the policy conversion unit 116 is the next hop when any one or more pieces of information included in the session information match the conditions defined by the policy. The next hop may be a parameter name that sets the IP address converted by the policy conversion unit 116 according to the policy, or may be another name for equivalent purposes. The next hop may also be the next hop in a routing control protocol such as BGP.

[0074] As another example, when the core network instance included in the acquired session information matches a predetermined value, the policy conversion unit 116 may convert the IP address of the UPF included in the session information into an IP address that is the result of policy application. This configuration enables route selection based on the core network instance, improving the flexibility of route control for each session.

[0075] The policy conversion unit 116 may set the IP address of the UPF included in the session information as the IP address resulting from policy application according to the value of the core network instance included in the session information in accordance with the policy defined for each VRF. This makes it possible to apply different forwarding policies to each virtual routing environment separated by application or traffic type, thereby improving the flexibility and portability of the entire network.

[0076] In addition, if the access network instance included in the acquired session information matches a predetermined value, the policy conversion unit 116 may convert the IP address of the gNB included in the session information into an IP address that is the result of policy application. This makes it possible to design a dynamic forwarding path according to the access side network characteristics.

[0077] The policy conversion unit 116 may set the IP address of the gNB included in the session information as the IP address resulting from policy application according to the value of the access network instance included in the session information in accordance with the policy defined for each VRF. This makes it possible to apply different forwarding policies to each virtual routing environment separated by application or traffic type, thereby improving the flexibility and portability of the entire network.

[0078] The advertising unit 118 searches the storage unit 110 using the IP address converted by the policy conversion unit 116 as a key. If the search results in a match, the advertising unit 118 associates the tunnel destination information included in the session information with the forwarding information included in the matching route information and advertises the linked information. The forwarding information may be the SID of segment routing included in the matching route information. The SID may be an SRv6 SID. The SID may be an SR-MPLS SID. The advertising unit 118 may advertise advertising information including the tunnel destination information and the forwarding information. The advertising information may be a BGP route. The advertising information may be a BGP MUP route. The advertising information may be a Type 2 Session Transformed Route (ST2) of the BGP MUP route. If the ST2 Route includes the tunnel destination information and is advertised without being associated with the MUP community of the BGP extended community attribute, the router 200 does not need to decapsulate the IP header, UDP header, and GTP-U header of the received packet. If the ST2 Route is advertised associated with the MUP community, the router 200 may decapsulate the IP header, UDP header, and GTP-U header of the received packet that matches the tunnel destination information included in the ST2 Route.

[0079] When the value of the core network instance or access network instance included in the session information matches a predetermined value, the policy conversion unit 116 sets the IP address of the UPF or the IP address of the gNB included in the session information as the IP address after the policy is applied, and the advertising unit 118 searches for an ISD (Interwork Segment Discovery) route stored in the memory unit 110 using the IP address as a key, and if there is a match, the forwarding information included in the ISD route and the tunnel destination information included in the session information may be linked and advertised. This makes it possible to dynamically obtain an ISD route indicating the interworking section in the MUP architecture and generate a forwarding route optimized on a per-session basis. The forwarding information may be an SRv6 SID. The SRv6 SID is End. The SRv6 SID may be an End. DT4 (Endpoint with Decapsulation and specific IPv4 Table lookup) SID. The SRv6 SID may be an End. DT6 (Endpoint with Decapsulation and specific IPv6 Table lookup) SID. The SRv6 SID may be an SID that indicates any behavior. Specifically, for example, the SRv6 SID may be an End. X (Endpoint with L3 cross-connect) SID, an End. The forwarding information may be an Endpoint with Decapsulation and Unicast MAC L2 table lookup (DT2U) SID, etc. The forwarding information may be an MPLS label.

[0080] The route information acquisition unit 212 acquires route information. The route information acquisition unit 212 may acquire route information advertised from the gNB 500 as route information advertised from the second router. The route information acquisition unit 212 may acquire route information advertised from the UPF 600 as route information advertised from the second router. The route information acquisition unit 212 may acquire route information advertised from the FBGW 300 as route information advertised from the second router. The route information acquisition unit 212 may acquire route information of the gNB 500, the UPF 600, the FBGW 300, and the external network 80 advertised by another router 200 as route information advertised from the second router. The route information acquired by the route information acquisition unit 212 may be a BGP VPN route (VPNv4, VPNv6, EVPN, etc.). The route information may be a BGP MUP route (such as an Interwork Segment Discovery (ISD) route or a Direct Segment Discovery (DSD) route). The storage unit 210 stores the route information acquired by the route information acquisition unit 212.

[0081] The advertisement information acquisition unit 214 acquires the advertisement information advertised by the advertisement unit 118. The storage unit 210 stores the advertisement information acquired by the advertisement information acquisition unit 214.

[0082] The forwarding unit 216 forwards packets. For example, the forwarding unit 216 receives a packet 502 encapsulated from the packet 402, and forwards the packet 502 based on the tunnel destination information, including forwarding information, contained in the advertisement information stored in the storage unit 210, without decapsulating the packet 502. If the destination in the header of the packet 502 matches the tunnel destination information contained in the advertisement information, the forwarding unit 216 forwards the packet 502 in accordance with the forwarding information contained in the advertisement information. If the advertisement information does not contain forwarding information, the forwarding unit 216 forwards the packet in accordance with the forwarding information contained in the route information advertised by the second router in the storage unit 210 that matches the tunnel destination information contained in the advertisement information. If the destination in the header of the packet 502 does not match the tunnel destination information contained in the advertisement information, the forwarding unit 216 forwards the packet 502 toward the destination in the header of the packet 502. The forwarding unit 216 may forward the packet 502 based on the advertised forwarding information associated with the tunnel destination information, including the forwarding information.

[0083] The type of route advertised by the gNB may be a BGP VPN route (VPNv4, VPNv6, EVPN, etc.) that includes an IP prefix having the IP address of the gNB within its range. The type of route advertised by the UPF may be a BGP VPN route (VPNv4, VPNv6, EVPN, etc.) that includes an IP prefix having the IP address of the UPF within its range. The type of route advertised by the FBGW may be a BGP VPN route (VPNv4, VPNv6, EVPN, etc.) that includes an IP prefix having the IP address of the FBGW within its range. The type of route advertised by the router 200 may be a BGP VPN route (VPNv4, VPNv6, EVPN, etc.) that includes an IP prefix having the IP address of the gNB or UPF within its range.

[0084] The type of route advertised by the gNB may be a BGP MUP route (ISD (Interwork Segment Discovery) route, DSD (Direct Segment Discovery) route, etc.) that includes an IP prefix that has the IP address of the gNB within its range. The type of route advertised by the UPF may be a BGP MUP route (ISD (Interwork Segment Discovery) route, DSD (Direct Segment Discovery) route, etc.) that includes an IP prefix that has the IP address of the UPF within its range. The type of route advertised by the FBGW may be a BGP VPN route (VPNv4, VPNv6, EVPN, etc.) that includes an IP prefix having the IP address of the FBGW within its range. The type of route advertised by the router 200 may be a BGP MUP route (ISD (Interwork Segment Discovery) route, DSD (Direct Segment Discovery) route, etc.) that includes an IP prefix having the IP address of a gNB or a UPF within its range.

[0085] The forwarding information included in the route information advertised by the router 200 may be a segment routing SID, an SRv6 SID, or an SR-MPLS SID.

[0086] The forwarding information included in the route information advertised by the router 200 may be an MPLS (Multi Protocol Label Switching) label.

[0087] The information included in the session information and to which the policy is applied may include at least one of a network instance, a DNN, a pre-defined rule, an Application-ID, and slice identification information (NSSAI, S-NSSAI). The information included in the session information and to which the policy is applied may include a network instance. The information included in the session information and to which the policy is applied may include a DNN. The information included in the session information and to which the policy is applied may include a pre-defined rule. The information included in the session information and to which the policy is applied may include an Application-ID. The information included in the session information and to which the policy is applied may include slice identification information.

[0088] Figure 9 schematically shows an example of the communication system 10 when applied to an SR network. Here, differences from Figures 5 to 7 will be mainly described. In the example shown in Figure 9, the router 200 is placed in the SR network, the PE router 510 is connected to the gNB 500, the PE router 610 is connected to the UPF 600, and the PE router 310 functions as the FBGW 300.

[0089] In the example shown in FIG. 9, the SID of the PE router 510 is "S1::", the SID of the PE router 610 is "S2::", and the SID of the PE router 310 is "S3::". The SIDs in this example are described for the sake of convenience and may differ from the actual values. The PE router 510 may have the functions of the router 200. The PE router 610 may have the functions of the router 200. The PE router 310 may have the functions of the router 200.

[0090] Based on the route information advertised by the PE router 510, the PE router 610, and the PE router 310, the router 200 associates the IP address "1.1.1.1" with the SID "S1::", the IP address "2.2.2.2" with the SID "S2::", and the IP address "3.3.3.3" with the SID "S3::". The controller 100 associates the tunnel destination information ("2.2.2.2, TEID: 0x22222222") included in the session information with forwarding information including NextHop: "3.3.3.3" and SID: "S3::" and advertises the information. The router 200 forwards packets based on the tunnel destination information and forwarding information. The NextHop may be an IP address set in the controller 100 instead of "3.3.3.3".

[0091] 1 to 9, the communication system 10 is mainly configured to forward packets to the FBGW 300 according to a policy, but the present invention is not limited to this. The communication system 10 may be configured to forward packets to the FBGW 300 according to a routing table and a policy of the controller 100.

[0092] 10 is an explanatory diagram illustrating an example of a processing flow in a configuration in which packets are forwarded to the FBGW 300 according to the routing table and policy of the controller 100. Here, a case is illustrated in which a core network instance is included in the session information 102, and if the core network instance matches a predetermined value, the packet is forwarded to the FBGW 300, and if they do not match, the packet is forwarded to the UPF 600. Differences from FIG. 6 will be mainly described.

[0093] The type of route advertised by the FBGW 300 may be a BGP MUP route (such as an Interwork Segment Discovery (ISD) route or a Direct Segment Discovery (DSD) route) that includes an IP prefix that has the IP address of the UPF 600 within its range.

[0094] The route information acquisition unit 114 acquires route information. The route information acquisition unit 114 may acquire route information advertised by the FBGW 300. The storage unit 110 stores the route information acquired by the route information acquisition unit 114.

[0095] 10 , the controller 100 has a fallback routing table. For example, the controller 100 has a fallback VRF that associates the IP address of the UPF 600 with the IP address of the FBGW 300.

[0096] 10 , a policy 108 is registered in the controller 100. The policy 108 is a fallback policy, includes a designation of a fallback VRF, and converts the IP address of the UPF 600 included in the session information 102 into an IP address resulting from application of the policy when the core network instance matches “fallback,” which is an example of a predetermined value.

[0097] When the core network instance included in the session information 102 matches "fallback," the policy conversion unit 116 applies the policy 108 to the session information 102 and converts the IP address of the UPF 600 included in the session information 102 into an IP address resulting from the policy application. The advertising unit 118 searches for the fallback VRF specified by the policy 108 using the IP address converted by the policy conversion unit 116 as a key, and when a match is found, advertises the IP address and TEID of the UPF 600 included in the session information 102, linking them with the IP address of the FBGW 300. The advertising unit 118 may advertise the advertising information 106 linking the IP address and TEID of the UPF 600 with the IP address of the FBGW 300.

[0098] Upon receiving the advertisement information 106, the router 200 forwards the packet in accordance with the advertisement information 106. For example, the gNB 500 encapsulates the packet 402 received from the UE 400 and transmits the packet 502, which is an encapsulated packet including the packet 402 as an inner packet, to the router 200. The packet 402 may be an example of a first packet. The packet 502 may be an example of a second packet. The router 200 forwards the packet 502 based on the forwarding information and tunnel destination information of the advertisement information 106. If the advertisement information does not include forwarding information, the forwarding unit 216 forwards the packet in accordance with the forwarding information included in the route information advertised by the second router in the storage unit 210 that matches the tunnel destination information included in the advertisement information.

[0099] If the header of the packet 502 indicates that the destination is “2.2.2.2, TEID: 0x22222222”, the condition is met, and the router 200 forwards the packet 502 to the FBGW 300. If the router 200 determines that the header of the packet 502 does not satisfy the condition, the router 200 forwards the packet 502 to the UPF 600.

[0100] The FBGW 300 checks the header of the packet 402 included in the packet 502, and if the destination is the MEC 700, forwards the packet 402 to the MEC 700. If the destination is not the MEC 700, the FBGW 300 may forward the packet 502 to the UPF 600.

[0101] 11 is an explanatory diagram for explaining an example of a processing flow when configured to forward packets to the FBGW 300 according to the routing table and policy of the controller 100. Here, an example is shown in which the session information 102 includes an access network instance, and if the access network instance matches a predetermined value, the packet is forwarded to the FBGW 300, and if they do not match, the packet is forwarded to the gNB 500. Differences from FIG. 6 will be mainly described.

[0102] The type of route advertised by FBGW300 may be a BGP MUP route (ISD (Interwork Segment Discovery) route, DSD (Direct Segment Discovery) route, etc.) that includes an IP prefix that has the IP address of gNB500 within its range.

[0103] The route information acquisition unit 114 acquires route information. The route information acquisition unit 114 may acquire route information advertised by the FBGW 300. The storage unit 110 stores the route information acquired by the route information acquisition unit 114.

[0104] 11 , the controller 100 has a fallback routing table. For example, the controller 100 has a fallback VRF that associates the IP address of the gNB 500 with the IP address of the FBGW 300.

[0105] 11, policy 109 is registered in controller 100. Policy 109 is a fallback policy that includes the specification of a fallback VRF, and converts the IP address of gNB 500 included in session information 102 into an IP address resulting from policy application when the access network instance matches "fallback," which is an example of a predetermined value.

[0106] When the access network instance included in the session information 102 matches "fallback", the policy conversion unit 116 applies the policy 108 to the session information 102 and converts the IP address of the gNB 500 included in the session information 102 into an IP address resulting from the policy application. The advertising unit 118 searches for the fallback VRF specified by the policy 108 using the IP address converted by the policy conversion unit 116 as a key, and if there is a match, advertises the IP address and TEID of the gNB 500 included in the session information 102, linking them with the IP address of the FBGW 300. The advertising unit 118 may advertise the advertising information 106 linking the IP address and TEID of the gNB 500 with the IP address of the FBGW 300.

[0107] Upon receiving the advertisement information 106, the router 200 forwards the packet in accordance with the advertisement information 106. For example, the UPF 600 encapsulates the packet 412 received from the DN 82 and transmits to the router 200 the packet 512, which is an encapsulated packet including the packet 412 as an inner packet. The router 200 forwards the packet 512 based on the forwarding information and tunnel destination information in the advertisement information 106. If the advertisement information does not include forwarding information, the forwarding unit 216 forwards the packet in accordance with the forwarding information included in the route information advertised by the second router in the storage unit 210 that matches the tunnel destination information included in the advertisement information.

[0108] If the header of packet 512 indicates that the destination is "1.1.1.1, TEID: 0x11111111", the condition is met and router 200 forwards packet 502 to FBGW 300. If router 200 determines that the header of packet 512 does not satisfy the condition, router 200 forwards packet 512 to gNB 500.

[0109] The FBGW 300 checks the header of the packet 412 included in the packet 512, and if the destination is the MEC 700, forwards the packet 412 to the MEC 700. If the destination is not the MEC 700, the FBGW 300 may forward the packet 512 to the gNB 500.

[0110] Fig. 12 schematically illustrates an example of the functional configuration of the controller 100 in the communication system 10 illustrated in Fig. 10 and Fig. 11. The controller 100 includes a storage unit 110, a registration unit 112, a route information acquisition unit 114, a policy conversion unit 116, and an advertising unit 118.

[0111] The registration unit 112 performs various registrations. For example, the registration unit 112 registers a policy. The registration unit 112 stores the registered policy in the storage unit 110. The registration unit 112 may update the policy stored in the storage unit 110. The registration unit 112 may delete the policy stored in the storage unit 110.

[0112] For example, the registration unit 112 registers a policy for converting the IP address of the UPF 600 included in the session information 102 into an IP address resulting from policy application when any of the core network instance, access network instance, DNN, pre-defined rule, Application-ID, and slice identification information included in the session information 102 matches a predetermined value. As a specific example, the registration unit 112 registers a policy for converting the IP address of the UPF 600 included in the session information 102 into an IP address resulting from policy application when the core network instance included in the session information 102 matches a predetermined value. An example of the predetermined value is "fallback," but is not limited to this, and any value may be set. Furthermore, the predetermined value may be changeable.

[0113] For example, the registration unit 112 registers a policy that converts the IP address of the gNB 500 included in the session information 102 into an IP address resulting from policy application when any of the core network instance, access network instance, DNN, pre-defined rule, Application-ID, and slice identification information included in the session information 102 matches a predetermined value. As a specific example, the registration unit 112 registers a policy that converts the IP address of the gNB 500 included in the session information 102 into an IP address resulting from policy application when the access network instance included in the session information 102 matches a predetermined value. An example of the predetermined value is "fallback," but is not limited to this, and any value may be set. Moreover, it may be changeable.

[0114] The registration unit 112 may register, update, or delete a policy in accordance with instructions from an operator, or may automatically register, update, or delete a policy depending on the network status.

[0115] The registration unit 112 may register, update, or delete a policy in order to achieve overall optimization in response to, for example, changes in the communication status in the network. For example, the registration unit 112 may register, update, or delete a policy when a new server 70 is added or an existing server 70 is to be shut down.

[0116] The route information acquisition unit 114 acquires route information. The route information acquisition unit 114 may acquire route information advertised from the router 200. The route information acquisition unit 114 may acquire route information advertised from the node 50. The route information acquisition unit 114 may acquire route information advertised from the node 60. The route information acquisition unit 114 may acquire route information advertised from the FBGW 300. The storage unit 110 stores the route information acquired by the route information acquisition unit 114.

[0117] Policy conversion unit 116 acquires session information of communication terminal 40 received from a network to which communication terminal 40 belongs. Policy conversion unit 116 acquires session information of communication terminal 40 received from, for example, a mobile network to which communication terminal 40 belongs. When a policy to be applied to the acquired session information is stored in storage unit 110, policy conversion unit 116 converts the result of applying the policy to the session information into an IP address of the policy application result.

[0118] For example, when policy 108 is stored in memory unit 110, if the core network instance included in session information 102 matches "fallback", policy conversion unit 116 applies policy 108 to session information 102 and converts the IP address of UPF 600 included in session information 102 into an IP address resulting from policy application. For example, when policy 109 is stored in memory unit 110, if the access network instance included in session information 102 matches "fallback", policy conversion unit 116 applies policy 109 to session information 102 and converts the IP address of gNB 500 included in session information 102 into an IP address resulting from policy application.

[0119] The advertising unit 118 searches the storage unit 110 using the IP address converted by the policy conversion unit 116 as a key. If the search results in a match, the advertising unit 118 associates the tunnel destination information included in the session information with the forwarding information included in the matching route information and advertises the result. The advertising unit 118 may advertise advertising information including the tunnel destination information and the forwarding information.

[0120] For example, the advertising unit 118 uses the IP address converted by the policy 108 by the policy conversion unit 116 as a key to search for the fallback VRF specified by the policy 108, and if a match is found, advertises the IP address and TEID of the UPF 600 included in the session information 102, linking them with the IP address of the FBGW 300. For example, the advertising unit 118 uses the IP address converted by the policy conversion unit 116 as a key to search for the fallback VRF specified by the policy 109, and if a match is found, advertises the IP address and TEID of the gNB 500 included in the session information 102, linking them with the IP address of the FBGW 300.

[0121] 13 is an explanatory diagram for explaining the processing content of the FBGW 300. Here, the processing content when the FBGW 300 is applied to an SR network will be mainly described as an example.

[0122] The FBGW 300 has a function of converting packets received from the router 200 and transmitting the converted packets to an IP network. For example, the FBGW 300 can transfer packets that should normally be forwarded to a node such as a UPF based on the GTP-U header to a server such as the MEC 700 regardless of the GTP-U header.

[0123] The FBGW 300 encapsulates the packet 402 with an appropriate header in accordance with the result of the destination route search for the packet 402 included in the packet 502 received from the router 200, and transmits the packet to a server such as the MEC 700. For example, the FBGW 300 may convert the packet into an SRv6-compliant packet or the like in accordance with the result of the destination route search for the packet 402 included in the packet 502 received from the router 200, and transmit the packet to a server such as the MEC 700 via the SR network. For example, the FBGW 300 may encapsulate the packet 402 with an Ethernet header in accordance with the result of the destination route search for the packet 402 included in the packet 502 received from the router 200, and transmit the packet to a server such as the MEC 700.

[0124] The FBGW 300 may determine an appropriate header to be used when encapsulating the packet 402 based on the result of the route search. Specifically, for example, if the output interface for forwarding the packet is a VLAN interface, the FBGW 300 may use a VLAN header in addition to an Ethernet (registered trademark) header as an appropriate header. Furthermore, if the VLAN interface is also an SRv6 backbone interface, the FBGW 300 may use an Ethernet header, a VLAN header, an IPv6 header, and an SR header as an appropriate header. Note that the FBGW 300 may use various headers as an appropriate header based on the type of output interface as a result of the route search. Hereinafter, when it is necessary to determine an appropriate header, it is assumed that a header determined by a similar method can be used.

[0125] 13 illustrates a case where, when the FBGW 300 receives a packet 502 including an IP header 503, a UDP header 504, a GTP-U header 505, and the packet 402, the FBGW 300 converts the packet 502 into an IP packet 520 including an IPv6 header or an SRv6 header 522 including an IPv6 header and an SR header, and a packet 526, and transmits the converted packet to the SR network. The packet 526 may be identical to the packet 402.

[0126] The FBGW 300 has a reception routing table 302 for forwarding a packet 502 and a payload forwarding routing table 304 for forwarding a packet 402. When the FBGW 300 receives the packet 502, it uses the reception routing table 302 to perform a destination route search for the packet 502. If a route for the packet 502 exists, the FBGW 300 uses the payload forwarding routing table 304 to perform a destination route search for the packet 402. Here, if a route for the packet 402 exists, the FBGW 300 generates a packet 520 including an IPv6 header or an SRv6 header 522 including an IPv6 header and an SR header, and a packet 526, in accordance with the result of the destination route search, and transmits the packet 520 toward the destination.

[0127] The FBGW 300 further includes a fallback routing table 306 for forwarding the packet 502 when no route for the packet 402 exists, i.e., when the payload forwarding routing table 304 does not include an entry for forwarding the packet 402 included in the packet 502. The reception routing table 302 included in the FBGW 300 may include a routing entry that specifies the payload forwarding routing table 304 and is capable of specifying the fallback routing table 306. Alternatively, the reception routing table 302 may include a routing entry that specifies the fallback routing table 306 and specifies the payload forwarding routing table 304. The payload forwarding routing table 304 may include a routing entry that indicates fallback. By including the fallback routing table 306, the FBGW 300 can transmit the packet 402 to its original destination node, such as a UPF, without dropping the packet 402 when the payload forwarding routing table 304 does not include an entry for forwarding the packet 402.

[0128] If no route for the packet 402 exists, the FBGW 300 performs a destination route search for the packet 502 using the fallback routing table 306. The original destination of the packet 502 may be registered in the fallback routing table 306. This makes it possible to send the packet 502 to the original destination. If the packet 502 can be sent to the original destination, a destination route with a shorter prefix length that includes the original destination may be registered in the fallback routing table 306. The destination route that includes the original destination in the fallback routing table 306 may be a route that forwards the packet 502 to another node, for example, another GTP-U router, that is not the original destination UPF based on a routing control design policy.

[0129] The FBGW 300 may have, by the function of the VRF, a receiving routing table 302, a payload forwarding routing table 304, and a fallback routing table 306. The FBGW 300 may have, by the function of the fib (forwarding information base) table, a receiving routing table 302, a payload forwarding routing table 304, and a fallback routing table 306.

[0130] In order to prevent a loop in which fallback is repeated forever, when a routing entry that specifies a fallback routing table is registered from another routing table to a routing table set as a fallback routing table, the FBGW 300 may perform control to automatically delete the routing entry or not allow the entry to be registered. The FBGW 300 may perform control to prevent another routing table from being specified as the fallback routing table from another routing table to the routing table set as the fallback routing table.

[0131] The FBGW 300 processes the packet 502, for example, according to the following flow. The FBGW 300 performs a destination route search for the packet 502 using the reception routing table 302, and if a route for the packet 502 exists, determines memory location difference information indicating the difference between the memory locations of the packet 502 and the packet 402. The FBGW 300 may determine memory location difference information indicating the difference between the memory location of the beginning of the packet 502 and the memory location of the beginning of the packet 402 included in the packet 502. The FBGW 300 advances a pointer to the beginning of the packet 402 and performs a destination route search for the packet 402 using the payload forwarding routing table 304. If a route for the packet 402 exists, the FBGW 300 transmits a packet 520 including an IPv6 header or an SRv6 header 522 including an IPv6 header and an SR header, and a packet 526, to the destination, according to the result of the destination route search. If a route for packet 402 does not exist, FBGW 300 restores packet 502 using the memory location difference information and performs a destination route search for packet 502 using fallback routing table 306. FBGW 300 transmits packet 532, which includes IP header 533, UDP header 534, GTP-U header 535, and packet 536, to the destination. IP header 533, UDP header 534, GTP-U header 535, and packet 536 may be identical to IP header 503, UDP header 504, GTP-U header 505, and packet 402. In this way, FBGW 300 may realize the forwarding of packet 502 by software processing.

[0132] The FBGW 300 processes the packet 502, for example, in the following manner. The FBGW 300 performs a destination route search for the packet 502 using the reception routing table 302, and if a route for the packet 502 exists, removes the IP header 503, the UDP header 504, and the GTP-U header 505 from the packet 502 and stores them separately, and performs a destination route search for the packet 402 using the payload forwarding routing table 304. If a route for the packet 402 exists, the FBGW 300 adds an IPv6 header or an SRv6 header 522 including an IPv6 header and an SR header to the packet 526 according to the result of the destination route search, and transmits the resulting packet 520 to the destination. If a route for packet 402 does not exist, FBGW 300 restores packet 502 using IP header 503, UDP header 504, and GTP-U header 505, and performs a destination route search for packet 502 using fallback routing table 306. FBGW 300 transmits packet 532, which includes IP header 533, UDP header 534, GTP-U header 535, and packet 536, to the destination. This allows FBGW 300 to realize the forwarding of packet 502 by hardware processing.

[0133] 14 schematically illustrates an example of the functional configuration of the FBGW 300. The FBGW 300 includes a storage unit 332, a packet receiving unit 334, and a route control unit 340. The route control unit 340 includes a packet processing unit 342, a route search unit 344, a route search unit 346, and a fallback processing unit 348. It is not essential that the route control unit 340 include all of these units.

[0134] The storage unit 332 stores various types of data. The storage unit 332 stores the reception routing table 302. The storage unit 332 stores the payload transfer routing table 304. The storage unit 332 stores the fallback routing table 306.

[0135] The packet receiving unit 334 receives a packet from the router 200. The packet receiving unit 334 may receive a packet 502 from the router 200.

[0136] The route control unit 340 performs a destination route search for a received IP packet received by the packet receiving unit 334 using the reception routing table 302, and if a route for the received IP packet exists, performs a destination route search for a payload IP packet included in the received IP packet using the payload transfer routing table 304. If a route for the payload IP packet exists, the route control unit 340 sends the payload IP packet to the destination in accordance with the result of the destination route search. If a route for the payload IP packet does not exist, the route control unit 340 performs control so that the destination route search for the received IP packet is performed using the fallback routing table 306.

[0137] For example, when a received IP packet includes an IP header, a UDP header, a GTP-U header, and a payload IP packet, if a route for the payload IP packet exists as a result of performing a destination route search for the payload IP packet using the payload forwarding routing table 304, the route control unit 340 encapsulates the payload IP packet with an appropriate header according to the result of the destination route search and transmits the encapsulated payload IP packet as a transmission IP packet to the destination. The route control unit 340 may, for example, encapsulate the payload IP packet with an SRv6 header.

[0138] If a route for the received IP packet exists, the route control unit 340 may determine memory location difference information indicating the difference in memory location between the received IP packet and the payload IP packet, advance a pointer to the beginning of the payload IP packet, and perform a destination route search for the payload IP packet using the payload forwarding routing table 304; if a route for the payload IP packet does not exist, the route control unit 340 may restore the received IP packet using the memory location difference information, and perform a destination route search for the received IP packet using the fallback routing table 306.

[0139] If a route for the received IP packet exists, the route control unit 340 may remove the IP header, UDP header, and GTP-U header from the received IP packet and store them separately, and perform a destination route search for the payload IP packet using the payload transfer routing table 304; if a route for the payload IP packet does not exist, the route control unit 340 may restore the received IP packet using the IP header, UDP header, and GTP-U header, and perform a destination route search for the received IP packet using the fallback routing table 306.

[0140] The route control unit 340 may control a routing table that has been set as a fallback routing table from another routing table so that it does not have any settings or routing entries that specify the other routing table as a fallback routing table.

[0141] The packet processing unit 342 may process a received IP packet using a route search unit 344, a route search unit 346, and a fallback processing unit 348. The route search unit 344 performs a destination route search for the received IP packet using the reception routing table 302. The route search unit 344 may be an example of a first route search unit.

[0142] Based on the destination route search result of the route search unit 344, the packet processing unit 342 may determine the payload forwarding routing table 304, the fallback routing table 306, and the memory location difference information between the received IP packet and the payload IP packet, and may start the destination route search for the payload IP packet as the next process.

[0143] As described above, the payload forwarding routing table 304 may include a routing entry indicating fallback, and the packet processing unit 342 may pass the fallback routing table 306 and memory location difference information to the route search unit 344 to start the fallback processing unit 348. The route search unit 344 performs a destination route search for the payload IP packet, and when the route search result corresponds to a routing entry indicating fallback, may pass the fallback routing table 306 and memory location difference information to the fallback processing unit 348 to start the fallback processing unit 348. The fallback processing unit 348 may start a destination route search for the received IP packet using the fallback routing table 306 and the memory location difference information.

[0144] The route search unit 346 searches for a destination route of the payload IP packet using the payload forwarding routing table 304. The route search unit 346 may be an example of a second route search unit.

[0145] The packet processing unit 342 may start the route search unit 346 by passing the fallback routing table 306 and the memory location difference information to the route search unit 346. The route search unit 346 executes a destination route search for the payload IP packet using the payload transfer routing table 304, and if a corresponding route does not exist, may pass the fallback routing table 306 and the received IP packet restored using the memory location difference information to the route search unit 344 and start a destination route search for the received IP packet using the fallback routing table 306.

[0146] The packet processing unit 342 may perform a destination route search for the payload IP packet using the payload transfer routing table 304, and if a corresponding route does not exist, may pass the fallback routing table 306 and the received IP packet restored using the memory location difference information to the route search unit 344, and start a destination route search for the received IP packet using the fallback routing table 306.

[0147] The FBGW 300 may change the processing content depending on whether the received IP packet is a GTP-U message. For example, if the received IP packet is not a GTP-U message, the route control unit 340 performs a destination route search for the payload IP packet using the payload forwarding routing table 304, and if a route for the payload IP packet exists, the route control unit 340 transmits the payload IP packet encapsulated with an appropriate header to the destination. If a route for the payload IP packet does not exist, the route control unit 340 performs a destination route search for the received IP packet using the fallback routing table 306. For example, if the received IP packet is a GTP-U message, the route control unit 340 performs a destination route search for the received IP packet using the fallback routing table 306 without performing a destination route search using the payload forwarding routing table.

[0148] The FBGW 300 identifies whether a received IP packet is a GTP-U message based on the GTP-U header of the received IP packet and performs processing. Specifically, for example, if the value of the GTP-U message type in the GTP-U header of the received IP packet is 255, the route control unit 340 of the FBGW 300 may process the received IP packet as not being a GTP-U message. Furthermore, if the value of the GTP-U message type in the GTP-U header of the received IP packet is within the range of 0 to 254, the route control unit 340 of the FBGW 300 may process the received IP packet as being a GTP-U message. By changing the processing of the received IP packet depending on the GTP-U message type, a GTP-U message required for maintaining and managing a session such as a PDU session to which the GTP-U message belongs is forwarded to the UPF because a route search is performed using the fallback routing table 306. This allows for reliable route search and fallback processing for payload IP packets while maintaining sessions such as anchor PDU sessions.

[0149] The FBGW 300 may change the processing content based on the GTP-U message type in the GTP-U header of the received IP packet. For example, when the GTP-U message type in the GTP-U header of the received IP packet satisfies a first condition, the route control unit 340 performs a destination route search for the payload IP packet using the payload forwarding routing table 304, and if a route for the payload IP packet exists, the route control unit 340 transmits the payload IP packet encapsulated with an appropriate header to the destination. When a route for the payload IP packet does not exist, the route control unit 340 performs a destination route search for the received IP packet using the fallback routing table 306. For example, when the GTP-U message type in the GTP-U header of the received IP packet satisfies a second condition, the route control unit 340 performs a destination route search for the received IP packet using the fallback routing table 306 without performing a destination route search using the payload forwarding routing table. The first condition may be met if the value of the GTP-U message type in the GTP-U header of the received IP packet is 255. The second condition may be met if the value of the GTP-U message type in the GTP-U header of the received IP packet is in the range of 0 to 254.

[0150] 15 schematically illustrates an example of the hardware configuration of a computer 1200 that functions as the controller 100, the router 200, or the FBGW 300. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of an apparatus according to the present embodiment, or can cause the computer 1200 to perform operations associated with the apparatus according to the present embodiment or one or more "parts," and / or can cause the computer 1200 to perform a process according to the present embodiment or steps of the process. Such a program may be executed by the CPU 1212 to cause the computer 1200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.

[0151] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input / output units such as a communications interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid-state drive, or the like. The computer 1200 also includes a ROM 1230 and a legacy input / output unit such as a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.

[0152] The CPU 1212 operates according to programs stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into the graphics controller 1216 itself, and causes the image data to be displayed on the display device 1218.

[0153] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.

[0154] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or programs that depend on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, etc.

[0155] The programs are provided by a computer-readable storage medium such as a DVD-ROM or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. The information processing described in these programs is read by the computer 1200, and brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or a method may be configured by implementing operations or processing of information in accordance with the use of the computer 1200.

[0156] For example, when communication is performed between computer 1200 and an external device, CPU 1212 may execute a communication program loaded into RAM 1214 and instruct communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of CPU 1212, communication interface 1222 reads transmission data stored in a transmission buffer area provided in RAM 1214, storage device 1224, a DVD-ROM, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes received data received from the network to a reception buffer area or the like provided on the recording medium.

[0157] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. to be read into the RAM 1214, and may perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.

[0158] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and may undergo information processing. The CPU 1212 may perform various types of processing on data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequences of the programs, and write the results back to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored on the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

[0159] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 1200. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can also be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.

[0160] The blocks in the flowcharts and block diagrams in the present embodiments may represent stages of a process in which an operation is performed or "parts" of an apparatus responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, including integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.

[0161] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by an appropriate device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture, including instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable storage media may include electronic, magnetic, optical, electromagnetic, and semiconductor storage media. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), electrically erasable programmable read-only memories (EEPROMs), static random access memories (SRAMs), compact disc read-only memories (CD-ROMs), digital versatile discs (DVDs), Blu-ray discs, memory sticks, integrated circuit cards, and the like.

[0162] The computer readable instructions may include either assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages ​​such as the “C” programming language or similar programming languages.

[0163] Computer-readable instructions may be provided locally or over a local area network (LAN), a wide area network (WAN) such as the Internet, to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or programmable circuitry, such that the processor or programmable circuitry executes the computer-readable instructions to generate means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.

[0164] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.

[0165] It should be noted that the order of execution of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a subsequent process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order.

[0166] 10 Communication system, 40 Communication terminal, 42 Packet, 50 Node, 52 Packet, 60 Node, 70 Server, 80 Network, 82 DN, 100 Controller, 102 Session information, 104 Policy, 105 Policy, 106 Advertisement information, 108 Policy, 109 Policy, 110 Memory unit, 112 Registration unit, 114 Route information acquisition unit, 116 Policy conversion unit, 118 Advertisement unit, 200 Router, 210 Memory unit, 212 Route information acquisition unit, 214 Advertisement information acquisition unit, 216 Forwarding unit, 300 FBGW, 302 Receiving routing table, 304 Payload forwarding routing table, 306 Fallback routing table, 310 PE router, 332 Memory unit, 334 Packet receiving unit, 340 Route control unit, 342 Packet processing unit, 344 Route search unit, 346 Route search unit, 348 Fallback processing unit, 400 UE, 402 Packet, 403 IP header, 404 Payload, 412 Packet, 500 gNB, 502 Packet, 503 IP header, 504 UDP header, 505 GTP-U header, 510 PE router, 512 Packet, 520 Packet, 522 SRv6 header, 526 Packet, 532 Packet, 533 IP header, 534 UDP header, 535 GTP-U header, 536 Packet, 600 UPF, 610 PE router, 700 MEC, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 Graphics controller, 1218 Display device, 1220 Input / output controller, 1222 communication interface, 1224 storage device, 1230 ROM, 1240 input / output chip

Claims

1. A communication system comprising a controller, a first router, and a second router, wherein the controller has: a memory unit that stores route information advertised by the second router; a policy conversion unit that converts the result of applying a policy to session information received from a first network into an IP address; and an advertising unit that searches the memory unit using the IP address converted by the policy conversion unit as a key, and if there is a match, advertises the tunnel destination information included in the session information by linking it with the forwarding information included in the matched route information; and the first router has a forwarding unit that receives a second packet encapsulating a first packet, and forwards the second packet based on the tunnel destination information including the forwarding information advertised by the controller without decapsulating the second packet.

2. The communication system described in claim 1, wherein the memory unit is a routing table including VRFs, the policy conversion unit applies a policy to the session information for each VRF, and the advertising unit performs a search for each VRF using the IP address as a key, and advertises the matching route information by linking it to the forwarding information contained in the route information.

3. The communication system according to claim 1 or 2, wherein the first network is a mobile network, the second packet encapsulates the first packet with an IP header, a UDP header, and a GTP-U header, and the forwarding unit forwards the received second packet based on the tunnel destination information including the forwarding information advertised by the controller, without decapsulating the IP header, the UDP header, and the GTP-U header of the second packet.

4. The session information includes a network instance, a DNN (Data Network Name), a pre-defined rule, an Application-ID, slice identification information (NSSAI, S-NSSAI), an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF; and the policy conversion unit converts a policy application result into the IP address when a policy including at least one of the network instance, the DNN, the pre-defined rule, the Application-ID, the slice identification information, tunnel destination information, and an IP prefix including an IP address of a UPF or a gNB, or a combination of two or more of these, included in the session information matches the session information to which the policy is to be applied; The communication system according to claim 3 , wherein the forwarding unit forwards the second packet based on forwarding information advertised in association with the tunnel destination information including the forwarding information.

5. The communication system described in claim 4, wherein the policy conversion unit applies to the session information a policy that sets the IP address converted by the policy conversion unit to the IP address of the gNB or the IP address of the UPF included in the tunnel destination information, or applies to the session information a policy that sets the IP address converted by the policy conversion unit to the IP address of a fallback gateway, and the policy conversion unit applies to the session information a policy that sets the IP address converted by the policy conversion unit to the Next Hop when any one or more pieces of information included in the session information match the conditions defined by the policy, and the forwarding unit forwards the second packet based on the forwarding information advertised in association with the tunnel destination information including the forwarding information.

6. The communication system according to claim 4 or 5, wherein the forwarding unit determines whether to forward the second packet to the UPF or forward it in accordance with the forwarding information based on the destination included in the IP header of the second packet and the TEID included in the GTP-U header of the second packet.

7. The communication system of claim 3, wherein the session information includes a core network instance, an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF, and the policy conversion unit applies to the session information a policy that converts the IP address of the UPF included in the session information to the IP address when the core network instance included in the session information matches a predetermined value, thereby converting the IP address of the UPF included in the session information to the IP address.

8. The communication system described in claim 7, wherein the memory unit has a fallback VRF that associates the IP address of the UPF with the IP address of a fallback gateway, the policy that converts the IP address of the UPF included in the session information to the IP address when the core network instance included in the session information matches a predetermined value includes specification of the fallback VRF, and the advertising unit searches for the fallback VRF specified by the policy using the IP address converted by the policy conversion unit as a key, and if there is a match, advertises the IP address and TEID of the UPF included in the session information in association with the IP address of the fallback gateway.

9. The communication system of claim 3, wherein the session information includes an access network instance, an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF, and the policy conversion unit applies to the session information a policy that converts the IP address of the gNB included in the session information to the IP address when the access network instance included in the session information matches a predetermined value, thereby converting the IP address of the gNB included in the session information to the IP address.

10. The communication system described in claim 9, wherein the memory unit has a fallback VRF that associates the IP address of a gNB with the IP address of a fallback gateway, the policy that converts the IP address of the gNB included in the session information to the IP address when the access network instance included in the session information matches a predetermined value includes specification of the fallback VRF, and the advertising unit searches for the fallback VRF specified by the policy using the IP address converted by the policy conversion unit as a key, and if there is a match, advertises the IP address and TEID of the gNB included in the session information by linking them with the IP address of the fallback gateway.

11. The communication system according to any one of claims 2 to 10, wherein the type of route advertised by the controller is a Border Gateway Protocol (BGP) Virtual Private Network (VPN) route.

12. The communication system according to any one of claims 2 to 10, wherein the type of route advertised by the controller is a BGP Mobile User Plane (MUP) route, and the BGP MUP route is a Type 2 Session Transformed Route (ST2).

13. The communication system according to claim 12, wherein the controller advertises the MUP community of a BGP extended community attribute without associating it with the Type 2 Session Transformed Route (ST2), and is capable of instructing the router to forward the second packet without decapsulating the IP header, UDP header, and GTP-U header of the second packet.

14. A communication system according to any one of claims 2 to 13, wherein the type of route advertised by the second router is a BGP VPN route that includes an IP prefix having within its range an IP address of a gNB or UPF.

15. A communication system according to any one of claims 2 to 13, wherein the type of route advertised by the second router is a BGP MUP route that includes an IP prefix having within its range an IP address of a gNB or UPF.

16. A communication system according to any one of claims 2 to 15, wherein the forwarding information included in the route information advertised by the second router is a segment routing SID.

17. The communication system according to any one of claims 2 to 15, wherein the forwarding information included in the route information advertised by the second router is an MPLS (Multi Protocol Label Switching) label.

18. A communication system described in any one of claims 2 to 17, wherein the information included in the session information and to which the policy is applied has at least one of the IP address of a user terminal of a mobile network, the IP address of a gNB, and the IP address of a UPF as the source address.

19. A controller comprising: a memory unit that stores route information advertised from a router; a policy conversion unit that converts the result of applying a policy to session information received from a first network into an IP address; and an advertising unit that searches the memory unit using the IP address converted by the policy conversion unit as a key, and if there is a match, advertises the tunnel destination information contained in the session information by linking it with the forwarding information contained in the matching route information.

20. The first network is a mobile network, the storage unit stores an ISD (Interwork Segment Discovery) route, the session information includes a core network instance, an access network instance, an IP address of a user terminal of the mobile network, an IP address and TEID of a gNB, and an IP address and TEID of a UPF, the policy conversion unit applies to the session information a policy for converting the IP address of the UPF or the IP address of the gNB included in the session information to the IP address when the core network instance or the access network instance included in the session information matches a predetermined value, thereby converting the IP address of the UPF or the IP address of the gNB included in the session information to the IP address, and the advertising unit searches for the ISD route stored in the storage unit using the IP address converted by the policy conversion unit as a key, and if there is a match, advertises the tunnel destination information included in the session information by linking it with the forwarding information included in the ISD route.

20. The controller of claim 19.

21. A router comprising: an advertising unit that advertises route information; an acquisition unit that stores the route information in a memory unit, converts the result of applying a policy to session information received from a first network into an IP address, searches the memory unit using the IP address as a key, and, if a match is found, acquires the tunnel destination information contained in the advertised session information and the forwarding information contained in the matching route information; and a forwarding unit that receives a second packet that encapsulates a first packet, and forwards the second packet based on the tunnel destination information including the forwarding information acquired by the acquisition unit without decapsulating the second packet.

22. An information processing method executed by a controller, comprising: a storage step of storing route information advertised from a router in a storage unit; a policy conversion step of converting the result of applying a policy to session information received from a first network into an IP address; and an advertising step of searching the storage unit using the IP address converted in the policy conversion step as a key, and, if a match is found, advertising the tunnel destination information contained in the session information by linking it with the forwarding information contained in the matching route information.

23. A program for causing a computer to execute the following steps: a storage step of storing route information advertised from a router in a storage unit; a policy conversion step of converting the result of applying a policy to session information received from a first network into an IP address; and an advertising step of searching the storage unit using the IP address converted in the policy conversion step as a key, and, if a match is found, advertising the tunnel destination information contained in the session information by linking it with the forwarding information contained in the matching route information.

24. An information processing method executed by a router, comprising: an advertising step of advertising route information; an acquisition step in which a controller stores the route information in a memory unit, converts the result of applying a policy to session information received from a first network into an IP address, searches the memory unit using the IP address as a key, and, if there is a match, acquires the tunnel destination information contained in the advertised session information and the forwarding information contained in the matching route information; and a forwarding step in which a second packet is received that encapsulates a first packet, and forwards the second packet based on the tunnel destination information including the forwarding information acquired in the acquisition step, without decapsulating the second packet.

25. A program for causing a computer to execute the following steps: an advertising step of advertising route information; an acquisition step of a controller storing the route information in a memory unit, converting the result of applying a policy to session information received from a first network into an IP address, searching the memory unit using the IP address as a key, and, if a match is found, acquiring the tunnel destination information contained in the advertised session information and the forwarding information contained in the matching route information; and a forwarding step of receiving a second packet that encapsulates a first packet, and forwarding the second packet based on the tunnel destination information containing the forwarding information acquired in the acquisition step, without decapsulating the second packet.

Citation Information

Patent Citations

  • Registration system, registration method, and registration program

    JP2020174257A

  • BGP signaling for access network-user plane function

    US20240224158A1