This invention is directed to packet core functionality in mobile networks.
In present the Evolved Packet Core, EPC, networks for mobile telephony, the so-called Access Point Name, has functioned as a “selector”, that can indicate a content delivery network.
In
In
Recently, requirements for offering among others low latency and local services depending on the location of the user entity have been highlighted. One such model which allow for connectivity to services or peering points that is closer to the radio base station, is e.g. MEC, Mobile Edge Computing.
Existing solutions have some shortcomings with routing of traffic. If one uses one and the same IP address in a central IP access point (the PGW), there will be issues or restrictions with IP routing solutions. One disadvantage is that it is not possible to allocate new IP addresses during operation. By way of example and reference to
If the address is routable to a common network (e.g. the Internet) from both the central as well as a distributed breakout-site there will be issues with triangular routing, i.e. traffic leaves the network at one site and the return traffic enters the network at another site, as the external network does not know which traffic is handled on which site. This implies that many standard actions cannot be handled such as firewalling.
To handle the problems with triangular routing it is often proposed that the break-out site instead should perform Network Address Translation, NAT, for the traffic itself or that it shall not be connected to the same external network. This will on the other hand put restrictions on what use-cases the solution can address.
It is a first object of the invention to set forth an improved system for routing packet data in mobile networks.
This object has been accomplished by a system comprising a user plane for routing and transporting payload data and a control plane. The system comprises a terminal, a radio access node, a first user plane node connecting to a first external network, a second user plane node connecting to a second external network, a control plane node for controlling the first and the second user plane nodes, and is adapted for
According to embodiments of the invention there is also provided:
A User plane node being adapted for
A Terminal on which at least an application is running, the terminal being adapted for
For an application in the terminal, the application is
A Control plane node adapted for
Moreover, various methods for the respective nodes and systems above are provided.
Hence, according to embodiments of the invention not only is the terminal provided with one, but with (at least) two, IPv6 prefixes. One prefix is defining a central IP anchor point in the network while another prefix is defined for a decentralized/local site in the network. Breakout traffic is undertaken for the local site.
According to some embodiments of the invention, breakout of traffic is handled by advertising the two separate IPv6 prefixes for the central site and the breakout site respectively. According to solutions described in RFC 4191, one can also specify what traffic to route to the respective site by as an example routing all traffic to the central site, but traffic targeting specific prefixes that are routed to the local site.
As the local site may change with mobility of the device, the local based services will lose connectivity to the device (as the IP prefix need to change) as the device moves in the network.
One advantage of some of the embodiments of the present invention is that they are based on IPv6 (Internet Protocol version 6) as the Network renumbering scheme that is defined by IETF in RFC 4192. Support for this functionality exists in many operating systems, e.g. Linux on which Android is based on. Most IPv6 (Internet Protocol version 6) implementations are supporting this scheme.
Another advantage is that only one PDN (Packet data Network) connection is needed from the terminal side which lead to a decrease of the signalling in the network. Yet another advantage is that the network can decide when to stop supporting the old IP address based on a subscription policy. This can for instance be done based on inactivity or based on other operator defined policies (e.g. immediately if the operator so decides based on the business-case for that specific type of subscription).
Another advantage of some of present embodiments of the invention is that the anchor of the mobile session can be moved in network without impacting the signalling towards the terminal. This can for instance be used for scaling of the user plane or to allow for an operator controlled optimization of the network based on network element load, link utilization or other properties that the terminal typically would not have any knowledge of (and likely should not have either). Another such property might be that the network instance, the terminal is utilizing, needs to be brought down for maintenance or software upgrade.
When an IPv6 or Dual-stack terminal connects to the network, it will get router advertisements from the network that informs the terminal about which IPv6 prefix to use. According to an embodiment of the invention, a default route can be announced in a router advertisement from the centralized anchor point. As this route is selected, the terminal IPv6 address will also be corresponding to the prefix announced by the centralized default router.
For embodiments of the invention based on the use of IPv6 prefixes, the selection is done by just looking at the source address as the terminal will in fact make the address selection based on the advertised routes.
In order to identify services of applications in the terminal that are to be broken out at a local site, the DNS (Domain Name System) system is advantageously configured to identify the local services so that the device can select the proper source IP address and through that allow for break-out of the services at the distributed site (close to radio access). This can be done by either re-using the same IP prefix for all distributed services, independently of where they are allocated (often called IP Anycasting as the service may be served by any server in the network). When no distributed site exists that can terminate that traffic it needs to be served by the central site instead. Whether to break-out traffic on a distributed site or not is then determined by the IP-prefix announcements in the neighbour discovery procedure (router advertisements according to RFC 4191 and RFC 4861).
Another alternative according to an embodiment of the invention is to provide services that different IP addresses depending on location (what local site to access). In this case, the DNS service needs to be configured according to location. This can be done in at least two ways, either there is a local DNS (with an Anycast address as it need to be the same IP address for the DNS server independent of where the server is located) on the breakout site that handles all DNS queries and uses the DNS infrastructure to answer DNS queries for host names not configured in the local DNS. Another alternative is that the DNS queries are intercepted and modified in the network to add information to them about location. This can be done when CDN services are used for services that are not bound to a specific network, e.g. for mobile terminals that may access the network. One solution is to have a CNAME (Canonical Name)-record that points out a new URL that is specific for the location that one accesses. The CNAME record has a very short lifetime (a few seconds) and may give different answers depending on location in the network. This would imply that the DNS queries for these services are then answered with a DNS answer that is based on the location of the device and that the IP anchor functionality can include a DNS server that answers the request and includes the location information in the new DNS name(s) to query for or that the query is modified to include the location information before it is served by an external DNS server. As services that could be identified for breakout in the network are under operator control (known IP prefixes), for some embodiments it shall be enough to support only IPv6 even if devices are also supporting IPv4. Since most major services on the internet have currently IPv6 support, this would cause few drawbacks.
A solution according to an embodiment of the invention can support both IPv6 only devices as well as dual stack devices.
IPv4-only based services may also be used for embodiments of the invention by e.g. applying the 464XLAT (RFC6877) concept, either in the terminal as Android devices are doing already today, or according to the solution described in WO 2015/173287 A1 with the first part of the NATing (Network Address Translation) in the termination point of the tunnel (in this case the distributed site). For the 464XLAT solution to work, a DNS64 need to be configured to support the functionality, just like it need to be done for the name lookup to find the local services without NATing, i.e. with native IPv6.
When the terminal moves out of an area covered by a distributed site, the dedicated IP address needs to be removed from the terminal. One can let it time out as a router advertisement has an announced lifetime and the last gateway in the chain may send ICMP (Internet Control Message Protocol) messages (destination/network unreachable messages) that forces the host to do new address resolution and select a new route via a new router. When this happens, the terminal is according to the RFCs supposed to probe the router that is down. An example of this shall be done is given in section 3.6 in RFC 4191. In that RFC is also a description on how to use the router preferences when failing over routes, which can be used in such a scenario as well.
According to an embodiment of the invention the break-out/tap of traffic is done based on IP addresses used as these can be selected based on the destination IP prefixes. The functionality is provided in a way that it is not affecting the reachability and availability of the more central IP anchor, any session using the services provided by the central IP anchor are not impacted at all by the services broken out during mobility. Only broken-out services may be impacted during mobility.
In
A control plane node, CTRL, controls the various serving nodes A2, A1 and AX via command messages over specific interfaces.
According to an embodiment of the invention the first user plane node A1 such as a gateway node that is adapted for communicating traffic to an external IP network or cloud, EXT1, which could provide central and default services. The second user plane node A2, that may be seen as a serving node, provides IP services for a second external IP network or cloud, EXT2, that could relate to local services relating to a geographical defined area in the vicinity of RAN1 or just to services not provided by the first network or cloud, EXT1. Still further services could be adapted to be provided via a still further user plane node AX cloud; EXT X. The breakout in central A1 may constitute a default route or the break out in local A2 may constitute the default route.
According to this embodiment, two IPv6 prefixes—IPv6 prefix X and IPv6 prefix Y—are allocated to specific applications in the terminal. The IPv6 prefixes may be arbitrarily allocated by the terminal for a given IPv6 address. In other words, at least two IPv6 prefixes are provided for the terminal network interface. A first central IP anchor is established in user plane node A1 while a second IP anchor is provided in user plane node A2. The first IP anchor may be provided in terms of a relatively lengthy or rather permanent first time period, while the second anchor may be arranged for a shorter second period of time and particular in dependency of the association to the particular radio access node with which the terminal is currently associated. At times, there may not be a second IP anchor denoted by IPv6 prefix X for the terminal.
According to embodiments of the invention, IP traffic stemming from IPv6 prefix X is broken out in node A2 towards external network EXT2, while IP traffic stemming from IPv6 prefix Y is broken out in node A1 towards external network EXT1.
In
In step 41A and 41B, authentication of the terminal TE is performed before the radio access node RAN1 and the control node CTRL. The control node subsequently configures, 41C, IP connectivity in the central node A1 by issuing a Configure message towards node A1.
In step 41D, an IPv6 anchor is established in the central user plane node A1 and a user plane connectivity 41E is established between the user plane node A1 and the radio access node RAN1 and between the radio access node RAN1 and the terminal TE.
The user plane node A1 issues in step 42A a Router Advertisement (RA)—comprising the IPv6 prefix, denoted I1—over the user plane to the terminal TE.
When the terminal receives the RA message in step 42B, the terminal adds the IPv6 prefix, I1, and adds the announced routes to a routing table.
In step 42C, an application in the terminal TE opens a new Transmission Control Protocol, TCP socket and matches the remote address towards a route with an IP address in EXT1.
Data is transmitted from the terminal, c.f. step 42D, is subsequently received in user plane node A1 which in step 42E handles the traffic and forwards the traffic to the external cloud or IP first external network EXT 1.
In step 42F, bidirectional data is communicated between the terminal and A1.
The control plane node CTRL triggers in step 42G a configuration of A2 which in step 42H defines an IP anchor I2.
Now, the user plane node A2 issues in step 43A Router Advertisement (RA)—comprising the IPv6 prefix, denoted —I2.
Then follows similar steps to what is explained under 42B and 42C.
In step 43B, the terminal adds the IPv6 prefix (I2) and adds the announced routes to routing table.
In step 43C, the application opens a new TCP socket and matches the remote address towards a route with an IP address in EXT2.
In step 43D and 43F data, is transmitted from the terminal.
Insofar data originates from IPv6 prefix X data, step 43D, the data is handled 43E such that it is broken out in A2 and routed to EXT2 as shown in
In
In step 51A, the terminal moves from the first radio access node RAN1 into the vicinity of a second radio access node RAN2 and experiences handover and connects to RAN2.
This mobility event is reported by RAN2 to the control plane node CTRL, 51B.
Since the user plane node A3 may be situated closer to the new RAN2, the control plane node transmits a configuration message in step 51C of A3 to A3 for initiating a change of break out point. The control plane node moreover issues information in step 51D of the change to A2, informing A2 that the former break out point is now in the process of being taken down in A2. The control plane node moreover issues information in step 51E of the change to A1.
When A3 receives the info of 51C it can now establish in step 51F an IP anchor for A3 defined by I3.
Then follows the set-up of—51G—user plane connectivity between A3 and A1 and—step 51H—user plane connectivity between A3 and A2.
The newly added user plane node for break out, A3, issues in step 52A a router advertisement (RA) including IPv6 prefix, I3, to the terminal TE informing about the new prefix for break out.
In step 52B, the terminal adds the new IPv6 prefix, I3, and adds the announced routes to the routing table.
In step 52C, the application opens a new TCP socket and matches the remote address towards a route with the IP address in Ext3.
The control plane node CTRL issues in step 52D a remove anchor message to A2.
In step 52E, a timer Timeout 2 is set which upon expiration causes the node A2 to remove its specific IP handling for I2 in step 52F.
In
Now in 53A, the previous breakout user plane node A2 issues Router Advertisement (RA)—I2 with a timer value Timeout 1.
Upon step 53B, timeout of Timeout 1,
The TE removes, 53C, the route to I2 and removes A2.
In step 55C, the application opens new TCP socket to an IP address that was previously in I2. This TCP socket will now match remote address in EXT3 or EXT1.
The application in the terminal opens a new TCP socket to the same destination as defined in step 52C and matches the remote address towards route with IP address in EXT3
Data can now when in step 55D received by A3 be handled by A3, step 55E, and made subject to either breakout of traffic towards EXT3 or EXT1, as explained above.
Data transmitted to A1, 55F, is handled, 55G, and may for instance be forwarded to EXT 1.
In
In comparison to the procedure shown in
Apart from this the scenario in
A3 was made aware of the new break out and A3 issues in 52A a Router Advertisement (RA)—with I3. (This may also be done by A1, depending on the implementation choices for the control node) that it needs to remove announcements for anchor A1.
In
For the situation that a packet with I2 associated with the connection established from the procedure in step 52C is issued 54A from the terminal TE towards new user plane node A3 or the old user plane A1, the respective receiving node A3/A1 issues in step 54B an ICMP (Destination Unreach) signal informing about the unreachability of I2.
If the terminal subsequently receives signal 54B, the terminal makes I2 inactive in step 55A.
In step 55B, the routing table selects I3 or I1 for traffic previously towards EXT2.
In step 55C, the application opens new TCP socket to destination as in 52X and matches the remote address towards route with IP address in EXT3 or EXT1.
Then follows Step 55D—data from TE to A3: handle traffic—breakout traffic EXT3; handle other traffic to EXT1.
For data 55F issued to A1, step 55G. traffic is handled to EXT1.
In
The apparatus comprises a processor PCU_A, an interface IF_A and a memory, MEM_A. In the memory instructions are stored for carrying out the process steps shown above with relation to
There is moreover shown a control node CTRL comprising a processor PCU_C, an interface IF_C; and a memory, MEM_C. Instructions are stored in the memory for being performed by the processor and effectuated on the interface for carrying out the process steps shown above with relation to
In
Finally, a radio access node, RAN1, RAN2 is shown comprising a processor PCU_R, an inter-face IF_R; and a memory, MEM_R. Instructions are stored in the memory for being per-formed by the processor and effectuated on the interface for carrying out the process steps shown above with relation to
The above apparatuses/entities are adapted to communicate over known external telecom interfaces or via application programming interfaces as appropriate.
The methods discussed above may alternatively be implemented by means of a system based on network functions virtualization. In
To emphasize particular embodiments of the invention, the following is provided:
System comprising a user plane for routing and transporting payload data and a control plane, the system comprising:
A terminal TE, a radio access node, RAN1 a first user plane node A1 connecting to a first external network EXT1, a second user plane node A2 connecting to a second external network EXT2,
A control plane node CTRL for controlling the first A1 and the second A2 user plane nodes, the system being adapted for
The terminal TE may be further adapted for
The first node A1 may be adapted for
The terminal when receiving the first router advertisement 42, comprises the action of
The control plane node CTRL may be
The terminal may be further adapted for when receiving the second router advertisement 42,
When the control plane node is
The control plane node CTRL being adapted for
The second user plane node A2 being adapted for
The first IPv6 prefix Y and the second IPv6 prefix X may be allocated to respective applications in the terminal, the first IP anchor is denoted by the first IPv6 prefix Y for the terminal, and the second IP anchor is denoted by the second IPv6 prefix X for the terminal.
There is also envisioned a user plane node A2 being adapted for
Further a terminal TE is provided on which at least an application is running, the terminal being adapted for
A Control plane node is provided and adapted for
The control plane node may be further adapted for
System comprising a user plane for routing and transporting payload data and a control plane, the system comprising
a terminal TE, a radio access node, RAN1 a first user plane node A1 connecting to a first external network EXT1, a second user plane node A2 connecting to a second external network EXT2,
a control plane node, CTRL for controlling the first A1 and the second A2 user plane nodes, the system being adapted for
A method for a network comprising a user plane for routing and transporting payload data and a control plane, the system comprising
a terminal TE, a radio access node, RAN1 a first user plane node A1 connecting to a first external network EXT1, a second user plane node A2 connecting to a second external network EXT2,
a control plane node, CTRL for controlling the first A1 and the second A2 user plane nodes, the method comprising
User plane node A2 being adapted for
Method for a user plane node A2 comprising
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2017/062038 | 5/18/2017 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62337974 | May 2016 | US |