WO2016144230A1 - Method, network device, computer program and computer program product for mobile service chaining - Google Patents
Method, network device, computer program and computer program product for mobile service chaining Download PDFInfo
- Publication number
- WO2016144230A1 WO2016144230A1 PCT/SE2016/050030 SE2016050030W WO2016144230A1 WO 2016144230 A1 WO2016144230 A1 WO 2016144230A1 SE 2016050030 W SE2016050030 W SE 2016050030W WO 2016144230 A1 WO2016144230 A1 WO 2016144230A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- address
- public
- cellular system
- network device
- computer program
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2528—Translation at a proxy
Definitions
- the invention relates to relates to methods, network devices, computer programs and a computer program product for mobile service chaining.
- EPC Evolved Packet Core
- 3GPP Third Generation Partnership Project
- TS Technical Specification
- IP Internet Protocol
- PDN Packet Data Network
- IMS IP Multimedia Subsystem
- PDN Gateway provides access towards one or more PDNs.
- PDN connection There is a logical IP tunnel, called PDN connection, between UE and PGW.
- All traffic of a PDN connection is routed through one and the same PGW.
- the IP address of that PDN connection i.e. the UE's IP address, topologically belongs to the PGW.
- the PGW thus acts as an anchor point for that IP address. Wherever the UE moves, the anchor point remains the same. This way the peer on Internet does not notice the movement of the UE.
- a PDN connection consists of three segments: a segment between UE and base station (BS), a segment between BS and SGW (Serving Gateway), and a segment between SGW and PGW.
- the latter two are implemented by General Packet Radio Service (GPRS) Tunnelling Protocol (GTP) tunnelling.
- GTP General Packet Radio Service
- a downstream IP user data packet i.e., a packet towards the UE, between PGW and SGW is encapsulated in a GTP header and an outer IP transport header.
- the GTP header contains a Tunnel Endpoint ID (TEID) indicating which user (UE) this packet belongs to.
- the outer IP transport header has the SGW as destination address.
- TEID Tunnel Endpoint ID
- the BS and SGW may be in different sites, and the transport of packets between the sites may be performed through an encrypted transport tunnel.
- SDN Service Defined Networking
- a so called control plane is separated from a so called user plane, or data plane.
- the vision is that such architecture leads to a cheaper and more flexible network deployment.
- Networking services such as network address translation, deep packet inspection, access control and the like, are no longer provided as monolithic boxes, but split up into the user plane performing the forwarding of user plane packets, and the control plane instructing the user plane how to perform the forwarding.
- a route, or path, that packets of a specific user, or even a specific flow of a user, takes through a collection of user plane forwarding elements is also known as a service chain.
- Service chaining is today mainly used in a context where the end device does not move from a service chaining perspective. Typically, this is a fixed network environment or a mobile network where service chaining is used only above an anchor point.
- a service chaining environment where the end device does move as would be the case when SDN is used in the above mentioned redesigned core architecture for a mobile wireless communication system, some new requirements are placed on the forwarding of the packets of that device.
- packets may get forwarded by a different set of forwarding elements after the moving. This implies that some kind of re-configuration is needed in order to forward the packets of that device to the new location of that device.
- a device moves from source to target base station.
- FEs Forwarding Elements
- the FEs maybe organized in this way for topological reasons; i.e. FEi may be close to Base Station 1 (BSi) but far from BS3.
- BSi Base Station 1
- each FE in the UE-peer chain (FE1-FE2-FE5-FE6-FE7) will have at least one entry for UEa. Worst case, there may be a single entry for every flow of UEa.
- UEa moves from BSi to BS3. This would require new entries for UEa in FE3 and FE4. It would also require an update to the UEa entries in FE5, such that packets towards UEa are now forwarded to FE4 instead of to FE2.
- the entries of UEa in the FEs of Fi and F2 would need to be removed. All this causes a lot of control plane signalling towards the FEs and the node(s) controlling the FEs. This is not a scalable solution.
- SoftCell Taking Control of Cellular Core Networks", Xin Jin, Li Erran Li, Laurent Vanbever, and Jennifer Rexford; Princeton University, Bell Labs, May 2013 proposes one solution to this scalability problem.
- Fig. 3 is used to explain how the aspect of mobility with service chaining is solved in the SoftCell approach.
- SoftCell defines an Access Switch (AS) that is close to the BS. It is logically between BS and first FE.
- the AS could be co-located with the BS, and could in fact be the first FE combined with a User Plane Function (UPF).
- the FE performs solely the packet forwarding and the UPF performs some kind of operation on the packet and may even alter the packet. Combined they may perform one of the network services mentioned above.
- the AS performs packet classification on traffic of UEs. Each packet is mapped to a policy. The policy defines which chain that packet belong to; i.e. which FEs and UPFs that packet needs to traverse. Packets are then aggregated onto three dimensions: policy, location (a base station ID) and UE ID.
- aggregation dimensions can then selectively be used thereby limiting the number of entries in the FEs.
- FE5 in the figure 3 can base its downlink forwarding decisions on the location dimension, and does not need to take the UE dimension into account.
- FE6 can base its uplink forwarding decision on the policy dimension, and does not need to take into account the location and UE dimension.
- SoftCell proposes to code the three dimensions of policy, Base Station ID and UE ID in the source IP address and port of uplink packets. It is the AS that does this encoding. So the AS translates the source IP address and port used by the UE into a new source IP address and port, similar to a Network Address Translation (NAT) function. Between AS and peer this new IP address and port pair is used. The downlink packet from the peer includes new IP address and port as destination address. As the IP address
- the downlink packet will arrive at the same AS.
- the AS then translates back to the original IP address and port known by the UE.
- SoftCell proposes to keep existing flows routed via ASi, in order to avoid a perceived IP address change for ongoing flows. So, for a flow that started when the UE was still on BSi, the flow gets routed via BS2 and ASi after the move. Only new flows get routed via BS2 and AS2.
- a UE has a number of active flows towards a peer. It then moves to a new BS and starts an additional flow. Then the peer will perceive a new source address for the additional flow, even though that flow originates from the same UE. This may confuse the peer in certain scenarios.
- SoftCell is basically introducing a NAT. This is acceptable for IPv4, as there already are so many NATs employed for IPv4 anyway, but is less appealing for IPv6.
- SoftCell Another solution is needed that removes these limitations from SoftCell, while at the same time keeping the advantages of SoftCell; i.e. scalable signalling towards the FEs by aggregating flows.
- NAT Network address translation
- the main purpose of this NAT is to save (IPv4) addresses.
- a UE i.e. a user device in 3GPP terminology
- IP address that is only used internal in the operator's network.
- Such address is also called a private address.
- UE traffic that gets routed to an external network often Internet, gets routed through a NAT.
- the NAT For uplink packets, i.e. packet from a UE, the NAT translates the source address of the packet, which is the UE IP address, into an external IP address.
- Such address is also known as a public IP address.
- the source port number is translated into a port number that is used on the external network. This is sometimes called Network Address and Port Translation (NAPT).
- NAPT Network Address and Port Translation
- NAT is here used to denote either a NAT (translating IP address only) or a NAPT (translating both IP address and port).
- the NAT stores the binding between private IP address/port and public IP address/port. It uses this binding to translate public IP address and port on downlink packet back to its original private IP address and port.
- the main purpose of the NAT is to translate multiple private addresses to the same public IP address, thereby saving address space.
- NATs have a single public IP address. However, it is possible that a single NAT has multiple public IP addresses. This may e.g. be the case in large-scale deployments.
- NATs sometimes allow other nodes to query the binding.
- Such other node could e.g. be an inspection node that wants to understand to which end user a certain packet with a public IP address belongs.
- An issue with such queries is that the number of bindings can easily become very large, and the bindings may be very short-lived. Every individual binding needs to be queried, leading to a solution that does not scale.
- a solution to this problem is to assign so called port blocks. In such solution the NAT and the NAT
- Fig. l illustrates a service chain and network topology with a three-level tag hierarchy for mobile broadband use cases.
- An IAP advertises (a range of) IP address/prefix towards an outer IP network. This may e.g. be Internet or an operator-internal network. A single IP address/prefix maybe advertised by multiple IAPs.
- the LR is a (often distributed) database that contains mapping between UE and the current location of that UE.
- the UE is identified by a UE IP address and optionally a UE ID.
- the current location is a BS ID.
- the LR Upon every mobility event, i.e. a handover from a UE from one BS to another, the LR is updated with new location information.
- a tag is
- F4 is a NAT.
- the LR only contains a mapping from private IP source address to BS ID and UE ID. So the problem is that the IAP will not be able to retrieve BS ID and UE ID from the LR for downlink packets. As a consequence the CL will not be able to classify the packet either. As a result of this, the packet cannot be placed on the correct chain and cannot be forwarded to the correct BS.
- a scalable solution is needed that does not restrict the order of the UPFs in the chain, and that allows for NAT relocation.
- a method for mobile service chaining in a cellular system is performed by a Control Node, CN, of the cellular system and comprises the steps of: assigning a public IP address and a public port block for a User Equipment, UE, in the cellular system; and storing the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- a method for mobile service chaining in a cellular system is performed by an IP
- Advertisement Point, IAP of the cellular system and comprises the steps of: querying a Control Node, CN, of the cellular system with a public IP address and a public port; and receiving a User Equipment, UE, identity, ID, and/ or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
- CN Control Node
- BS Base Station
- a network device of a cellular system configured for mobile service chaining.
- the network device is a Control Node, CN, of a cellular system.
- the network device comprises: a processor and a computer program product storing instructions that, when executed by the processor, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- BS Base Station
- a network device of a cellular system configured for mobile service chaining.
- the network device is an IP Advertisement Point, IAP, of a cellular system.
- IAP IP Advertisement Point
- a processor and a computer program product storing instructions that, when executed by the processor, causes the network device to: query a Control Node, CN, of the cellular system with a public IP address and a public port; and receive a User Equipment, UE, identity, ID, and/ or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
- a network device of a cellular system configured for mobile service chaining.
- the network device is configured as a Control Node, CN, of the cellular system.
- the network device comprises: a determination manager configured to assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and a
- a synchronisation manager configured to store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- a network device of a cellular system configured for mobile service chaining.
- the network device is configured as an IP Advertisement Point, IAP, of the cellular system.
- the network device comprises: a determination manager configured to query a Control Node, CN, of the cellular system with a public IP address and a public port; and a communication manager (82) configured to receive (72) a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
- a determination manager configured to query a Control Node, CN, of the cellular system with a public IP address and a public port
- a communication manager (82) configured to receive (72) a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
- a seventh aspect it is presented a computer program for a Control Node, CN, of a cellular system with mobile service chaining.
- the computer program comprising computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- BS Base Station
- the computer program comprises computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: query a Control Node, CN, of the cellular system with a public IP address and a public port; and receive a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
- CN Control Node
- BS Base Station
- a computer program product comprising a computer program and computer readable storage means on which the computer program is stored.
- Fig. l is a schematic diagram illustrating a three-level tag hierarchy for mobile broadband cases.
- Fig. 2 is a schematic diagram illustrating a network example.
- Fig. 3 is a schematic diagram illustrating another network example.
- Fig. 4 is a signalling chart in a cellular network according to an embodiment presented herein.
- Fig. 5 is a signalling chart in a cellular network according to an embodiment presented herein.
- Figs. 6A-6D are flow charts illustrating methods for embodiments presented herein.
- Fig. 7 is a schematic diagram illustrating some components/ devices of a network device.
- Fig. 8 is a schematic diagram showing functional modules of a network device.
- such a node may comprise multiple boxes.
- the IP Advertisement Point, IAP uses not only IP address but the combination of IP address and port as search keys to the Location Register, LR.
- the IDs received by the IAP from the LR are used as basis for forwarding decisions in the Forwarding Elements, FEs. No IP addresses and ports need to be used for forwarding decisions, which allows multiple NAT UPFs to use the same public IP address.
- port blocks are assigned and stored in the LR.
- the IAP can then query the LR with both public IP address and public port as search keys.
- the LR matches the public port, sent in the query, to a port block.
- the LR can then reply with Base Station, BS, identity, ID, and User Equipment, UE, ID just as for a case without change of Network Address Translator, NAT. This also allows the NAT to be relocated.
- Mobile service chaining can thus be used, including the feature of relocation, even if one of User Plane Functions, UPFs, in the chain is a NAT.
- Fig. 4 describes an embodiment for this solution, which method also is illustrated in Fig. 6B.
- UPF which is the NAT.
- Classifiers, CLs are for simplification not shown in the call flow. These may be placed between BS and IAP.
- Forwarding Elements, FEs are used for forwarding on the network segment between BS and NAT, but these are not shown in the call flow.
- IAP and peer there is plain IP routing.
- the peer may be on an external IP network like Internet.
- steps 1-7 the attach procedure is performed, starting with an attach request 60.
- the CN assigns 61 a private address for this UE (step 3), which is sent back 65 to the UE in step 7.
- the UE does not receive the private IP address in step 7, but instead the UE performs an IP address setup procedure after step 7 (not shown in the call flow).
- This could e.g. be a DHCP (Dynamic Host Configuration Protocol) exchange or, in case of IPv6, a Stateless Address Auto configuration (SLAAC) procedure.
- DHCP Dynamic Host Configuration Protocol
- SLAAC Stateless Address Auto configuration
- the CN also assigns 62 a public IP address and a public port block for this UE (step 4).
- the CN stores 63 the mapping between public IP address, public port block and UE ID, BS ID in the LR (step 5).
- the LR is conceptually a part of the CN. All information, i.e. UE ID, private IP address, public IP address and public port block is sent 64 to the NAT instance that will serve this UE (step 6).
- the NAT stores this information.
- the UE is ready to send and receive user plane traffic.
- the UE sends 66 a packet to a peer (step 8). The destination address of such packet indicates the peer.
- the source address is the private IP address for the UE.
- the source port is picked by the UE.
- the NAT receives the packet, it performs NATing 67 to the public IP address for this UE and picks a public port from the port block of this UE (step 9). It then forwards the packet (step 10).
- the CN assures that multiple UEs that get their traffic forwarded through the same instance of the NAT get assigned different private IP addresses. This is the normal procedure in today's networks. The embodiment described here would even allow that multiple UEs that get their traffic forwarded through the same instance of the NAT get assigned the same private IP address. In that case the BS would need to add a tag in each uplink packet carrying the UE ID (this is not shown in the drawings). The NAT would then need to use that tag to identify to which UE this packet belongs.
- the peer replies 70 step 11
- the source IP address and port from the uplink packet are used as destination IP address and port in the downlink packet, which method also is illustrated in Fig. 6D.
- the IAP now uses not only destination IP address, but both destination IP address and destination port as lookup key for the query 71 to the LR (step 12).
- the LR replies 72 with UE ID and BS ID (step 13), adds those as tags and forwards 73 the packet (step 14). That NAT simply translates back 74 to the original private IP address and port (step 15), and the packet is further forwarded to the UE (step 16-17).
- the forwarding decisions of FEs between IAP and NAT are not necessarily based on the information in the IP header of the packet. As this is a service chained network, the forwarding decisions maybe based on the tags of the packet. Using tags to make forwarding decisions gives freedom in the way IP addresses are to be handled.
- the idea described here allows the same instance of a NAT UPF to use the same public IP address for multiple UEs. But furthermore, different instances of the NAT UPF may use the same public IP address for different UEs.
- This property of forwarding in a service chained network also enables context of a particular UE in the NAT UPF to be relocated to another instance of the same NAT UPF.
- Relocation of a particular UE context in the NAT would include the copying of the NAT bindings from source NAT instance to target NAT instance.
- the public IP address and public port block for this UE is also copied to the target NAT instance.
- the target NAT instance simply resumes using the new context.
- the CN ensures that packets are now forwarded via the target NAT instance.
- Fig. 5 gives a small variant to that of Fig. 4.
- the NAT is not informed of the public IP address and port block for this UE as part of the attachment procedure. Instead, the NAT requests the CN to provide public IP address and port block for this UE when the first uplink packet arrives (steps 7-10). Note that these steps only need to be performed once for a particular UE.
- Fig. 4 and Fig. 5 may also be combined.
- the CN assigns a small port block for this UE (Fig. 4).
- the NAT runs out of port block space for this UE, it requests an additional port block (Fig. 5).
- the last step can be repeated at any time more space is needed.
- Such solution can be applied when the number of devices is large making port space scarce.
- a single UE has a single chain of UPFs.
- a UE gets assigned multiple chains, possibly with a different set of UPFs.
- the CN could handle this situation in two ways. The first alternative is to ensure that all chains for this UE that include the NAT UPF get routed through the same instance of the NAT.
- a second alternative is that the different chains for this UE use different NAT UPF instances. In the latter case, the CN could, for the different instances serving the same UE, assign the same public IP address but different port blocks, or assign different public IP addresses.
- a method for mobile service chaining in a cellular system wherein the method being performed by a CN of the cellular system, is illustrated in Fig. 6A and comprises the steps of: assigning 62 a public IP address and a public port block for a User Equipment, UE, in the cellular system; and storing 63 the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- assigning 62 a public IP address and a public port block for a User Equipment, UE, in the cellular system
- storing 63 the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- the method may further comprise the step of: sending 64 a private IP address, the public IP address, the public port block and the UE ID and/ or the UE private IP address for the UE to a Network Address Translator, NAT, of the cellular system, which is illustrated in Fig. 6B. l6
- the method may further comprise the steps of: assigning 62 a further public IP address and/or a further public port block for the UE in the cellular system; and storing 63 the assigned further public IP address and/ or further public port block in the LR of the cellular system mapped to the UE ID and/ or the UE private IP address of the UE and the BS ID to which the UE is attached, which is illustrated in Fig. 6B.
- the step of storing may be stored in a Location Register, LR, of the cellular system.
- LR Location Register
- a method for mobile service chaining in a cellular system is illustrated in Fig. 6C, and comprises the steps of: querying 71 a Control Node, CN, of the cellular system with a public IP address and a public port; and receiving 72 a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
- IAP IP Advertisement Point
- the method may further comprise the step of: sending 73 downlink traffic to a Network Address Translator, NAT, of the cellular system, wherein the downlink traffic is tagged with the UE ID and/or the UE private IP address and the BS ID, which is illustrated in Fig. 6D.
- the method may further comprise the steps of: querying the CN with a further public IP address and/or a further public port; and receiving the UE ID and/or the UE private IP address of the UE and the BS ID to which the UE is attached from the CN in response to the querying, which is illustrated in Fig. 6D.
- a network device 20 of a cellular system configured for mobile service chaining, the network device being a Control Node, CN, of a cellular system is presented with reference to Fig. 7.
- the network device comprising: a processor; and a computer program product storing instructions that, when executed by the processor, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- BS Base Station
- a network device 20 of a cellular system configured for mobile service chaining is presented with reference to Fig. 7.
- the network device being an IP Advertisement Point, IAP, of a cellular system.
- IAP IP Advertisement Point
- a network device 20 for a cellular network is presented with reference to Fig. 7, which network device is in a cellular system configured for mobile service chaining.
- the network device 20 being a Control Node, CN, of the cellular system.
- the network device 20 comprises: a processor 21; and a computer program product 23 storing a computer program 25 with instructions that, when executed by the processor, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- BS Base Station
- Fig. 7 is a schematic diagram showing some components of the network device 20.
- the processor 21 maybe provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor,
- microcontroller capable of executing software instructions of a computer program 25 stored in a memory 23.
- the memory 23 can thus be considered to be or form part of the computer program product 23.
- the processor 21 may be configured to execute methods described herein with reference to Figs. 6A-6D. l8
- the memory 23 may be any combination of read and write memory (RAM) and read only memory (ROM).
- the memory 23 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
- a second computer program product 24 in the form of a data memory may also be provided, e.g. for reading and/ or storing data during execution of software instructions in the processor.
- the data memory can be any combination of read and write memory (RAM) and read only memory (ROM) and may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
- the data memory may e.g. hold other software instructions 26, to improve functionality for the network device 20.
- the network device 20 may further comprise an I/O interface 22 including e.g. a user interface. Other components of the network device are omitted in order not to obscure the concepts presented herein.
- Fig. 8 is a schematic diagram showing functional blocks of the network device.
- the functional blocks may be implemented as only software instructions such as a computer program executing in the network device or only hardware, such as application specific integrated circuits, field
- programmable gate arrays discrete logical components, transceivers, etc. or as a combination thereof.
- some of the functional blocks may be implemented by software and other by hardware.
- the modules correspond to the steps in the methods illustrated in Figs. 6A- 6D, comprising a determination manager 80, a synchronisation manager 81 and a communication manager 82.
- a determination manager 80 determines whether one or more of the modules are implemented by a computer program.
- the determination manager 80 is configured to assign a public IP address and a public port block for a User Equipment, UE, in the cellular system.
- This module corresponds to the assign step of Figs. 6A and 6B.
- This module can e.g. be implemented by the processor of Fig. 7, when running the computer program.
- the synchronisation manager 81 is configured to store the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- This module corresponds to the store step of Figs. 6A and 6B.
- This module can e.g. be implemented by the processor of Fig. 7, when running the computer program.
- the determination manager 80 maybe configured to query a Control Node, CN, of the cellular system with a public IP address and a public port.
- This module corresponds to the query step of Figs. 6C and 6D.
- This module can e.g. be implemented by the processor of Fig. 7, when running the computer program.
- the communication manager 82 maybe configured to receive a User
- This module corresponds to the receive step of Figs. 6C and 6D.
- This module can e.g. be implemented by the processor of Fig. 7, when running the computer program.
- a computer program for a Control Node, CN, of a cellular system with mobile service chaining is presented.
- the computer program comprises computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
- BS Base Station
- a computer program for an IP Advertisement Point, IAP, of a cellular system with mobile service chaining comprises computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: query a Control Node, CN, of the cellular system with a public IP address and a public port; and receive a User Equipment, UE, identity, ID, and/ or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
- CN Control Node
- BS Base Station
- a computer program product comprising a computer program as presented above and a computer readable storage means on which the computer program is stored.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
It is presented a method for mobile service chaining in a cellular system. The method is performed by a Control Node, CN, of the cellular system. The method comprises the steps of: assigning (62) a public IP address and a public port block for a User Equipment, UE, in the cellular system; and storing (63) the assigned public IP address and public port block mapped to a UE identity, ID, of the UE and a Base Station, BS, ID to which the UE is attached. Corresponding methods, network devices, computer programs and computer program product are also presented.
Description
METHOD, NETWORK DEVICE, COMPUTER PROGRAM AND COMPUTER PROGRAM PRODUCT FOR MOBILE SERVICE
CHAINING
TECHNICAL FIELD
The invention relates to relates to methods, network devices, computer programs and a computer program product for mobile service chaining.
BACKGROUND
Today's mobile network architecture, Evolved Packet Core (EPC) is described in Third Generation Partnership Project (3GPP) Technical Specification (TS) 23.401 and 3GPP TS 23.402. The mobile device (UE for User Equipment) attaches to the network and receives an Internet Protocol (IP) address. The UE uses that IP address to communicate with peers on a Packet Data
Network (PDN). Such PDN is in most cases the Internet, but could also be an operator service like IP Multimedia Subsystem (IMS). The PGW (PDN Gateway) provides access towards one or more PDNs. There is a logical IP tunnel, called PDN connection, between UE and PGW.
All traffic of a PDN connection is routed through one and the same PGW. The IP address of that PDN connection, i.e. the UE's IP address, topologically belongs to the PGW. The PGW thus acts as an anchor point for that IP address. Wherever the UE moves, the anchor point remains the same. This way the peer on Internet does not notice the movement of the UE.
A PDN connection consists of three segments: a segment between UE and base station (BS), a segment between BS and SGW (Serving Gateway), and a segment between SGW and PGW. The latter two are implemented by General Packet Radio Service (GPRS) Tunnelling Protocol (GTP) tunnelling. For example, a downstream IP user data packet, i.e., a packet towards the UE, between PGW and SGW is encapsulated in a GTP header and an outer IP transport header. The GTP header contains a Tunnel Endpoint ID (TEID) indicating which user (UE) this packet belongs to. The outer IP transport header has the SGW as destination address. There is a similar setup between
SGW and BS, but there a downlink packet has the BS address set as destination address in the transport IP header.
On transport level there may be additional layers, the BS and SGW may be in different sites, and the transport of packets between the sites may be performed through an encrypted transport tunnel. In such a setup, there may be a security gateway on both ends of the transport tunnel performing the encryption and decryption.
In order to fulfil upcoming requirements on the EPC architecture, it is believed that a completely redesigned architecture is required. One such redesigned architecture is proposed to be based on Software
Defined Networking (SDN). With software defined networking, a so called control plane is separated from a so called user plane, or data plane. The vision is that such architecture leads to a cheaper and more flexible network deployment. Networking services, such as network address translation, deep packet inspection, access control and the like, are no longer provided as monolithic boxes, but split up into the user plane performing the forwarding of user plane packets, and the control plane instructing the user plane how to perform the forwarding. A route, or path, that packets of a specific user, or even a specific flow of a user, takes through a collection of user plane forwarding elements is also known as a service chain.
Service chaining is today mainly used in a context where the end device does not move from a service chaining perspective. Typically, this is a fixed network environment or a mobile network where service chaining is used only above an anchor point. In a service chaining environment where the end device does move, as would be the case when SDN is used in the above mentioned redesigned core architecture for a mobile wireless communication system, some new requirements are placed on the forwarding of the packets of that device. In particular, packets may get forwarded by a different set of forwarding elements after the moving. This implies that some kind of re-configuration is
needed in order to forward the packets of that device to the new location of that device.
Consider the network example in Fig. 2, in which a device moves from source to target base station. There are four BSs and a number of Forwarding Elements (FEs), i.e. FEi though FE .The FEs maybe organized in this way for topological reasons; i.e. FEi may be close to Base Station 1 (BSi) but far from BS3.
Let's assume UEa communicates with a peer, such as a computer, another UE, a server or the like, behind FE7. In a naive implementation, each FE in the UE-peer chain (FE1-FE2-FE5-FE6-FE7) will have at least one entry for UEa. Worst case, there may be a single entry for every flow of UEa. Now assume that UEa moves from BSi to BS3. This would require new entries for UEa in FE3 and FE4. It would also require an update to the UEa entries in FE5, such that packets towards UEa are now forwarded to FE4 instead of to FE2. And finally, the entries of UEa in the FEs of Fi and F2 would need to be removed. All this causes a lot of control plane signalling towards the FEs and the node(s) controlling the FEs. This is not a scalable solution.
SoftCell ("SoftCell: Taking Control of Cellular Core Networks", Xin Jin, Li Erran Li, Laurent Vanbever, and Jennifer Rexford; Princeton University, Bell Labs, May 2013) proposes one solution to this scalability problem. Fig. 3 is used to explain how the aspect of mobility with service chaining is solved in the SoftCell approach.
SoftCell defines an Access Switch (AS) that is close to the BS. It is logically between BS and first FE. The AS could be co-located with the BS, and could in fact be the first FE combined with a User Plane Function (UPF). In this terminology, the FE performs solely the packet forwarding and the UPF performs some kind of operation on the packet and may even alter the packet. Combined they may perform one of the network services mentioned above.
The AS performs packet classification on traffic of UEs. Each packet is mapped to a policy. The policy defines which chain that packet belong to; i.e. which FEs and UPFs that packet needs to traverse. Packets are then aggregated onto three dimensions: policy, location (a base station ID) and UE ID. These aggregation dimensions can then selectively be used thereby limiting the number of entries in the FEs. E.g., FE5 in the figure 3can base its downlink forwarding decisions on the location dimension, and does not need to take the UE dimension into account. FE6 can base its uplink forwarding decision on the policy dimension, and does not need to take into account the location and UE dimension.
SoftCell proposes to code the three dimensions of policy, Base Station ID and UE ID in the source IP address and port of uplink packets. It is the AS that does this encoding. So the AS translates the source IP address and port used by the UE into a new source IP address and port, similar to a Network Address Translation (NAT) function. Between AS and peer this new IP address and port pair is used. The downlink packet from the peer includes new IP address and port as destination address. As the IP address
topologically belongs to the AS, the downlink packet will arrive at the same AS. The AS then translates back to the original IP address and port known by the UE.
Now assume that UEa moves from BSi to BS2 in the figure 3. The UE would thus move from ASi to AS2. SoftCell proposes to keep existing flows routed via ASi, in order to avoid a perceived IP address change for ongoing flows. So, for a flow that started when the UE was still on BSi, the flow gets routed via BS2 and ASi after the move. Only new flows get routed via BS2 and AS2.
The SoftCell approach has a couple of disadvantages:
The encoding of the three dimensions into an IP address and port pair only works for flows that originate from the UE. Because the peer is not aware of any encoding scheme, the SoftCell approach does not work for flows that originate from the peer.
After the UE has moved to a new BS, existing flows are still routed via the AS associated with the old BS. This introduces sub-optimal routing of such flows. This is in particular a disadvantage for long-lasting flows.
Assume that a UE has a number of active flows towards a peer. It then moves to a new BS and starts an additional flow. Then the peer will perceive a new source address for the additional flow, even though that flow originates from the same UE. This may confuse the peer in certain scenarios.
SoftCell is basically introducing a NAT. This is acceptable for IPv4, as there already are so many NATs employed for IPv4 anyway, but is less appealing for IPv6.
Another solution is needed that removes these limitations from SoftCell, while at the same time keeping the advantages of SoftCell; i.e. scalable signalling towards the FEs by aggregating flows.
Further, in today's 3GPP EPC architecture operators often deploy a Network Address Translator (from Wikipedia: Network address translation (NAT) is a methodology of remapping one IP address space into another by modifying network address information in Internet Protocol (IP) datagram packet headers while they are in transit across a traffic routing device. The technique was originally used for ease of rerouting traffic in IP networks without renumbering every host. It has become a popular and essential tool in conserving global address space allocations in face of IPv4 address
exhaustion.) The main purpose of this NAT is to save (IPv4) addresses.
Typically, a UE (i.e. a user device in 3GPP terminology) would get assigned an IP address that is only used internal in the operator's network. Such address is also called a private address. UE traffic that gets routed to an external network, often Internet, gets routed through a NAT. For uplink packets, i.e. packet from a UE, the NAT translates the source address of the packet, which is the UE IP address, into an external IP address. Such address is also known as a public IP address. Along with this also the source port number is translated into a port number that is used on the external network.
This is sometimes called Network Address and Port Translation (NAPT). The term NAT is here used to denote either a NAT (translating IP address only) or a NAPT (translating both IP address and port). The NAT stores the binding between private IP address/port and public IP address/port. It uses this binding to translate public IP address and port on downlink packet back to its original private IP address and port. The main purpose of the NAT is to translate multiple private addresses to the same public IP address, thereby saving address space.
Most NATs have a single public IP address. However, it is possible that a single NAT has multiple public IP addresses. This may e.g. be the case in large-scale deployments.
NATs sometimes allow other nodes to query the binding. Such other node could e.g. be an inspection node that wants to understand to which end user a certain packet with a public IP address belongs. An issue with such queries is that the number of bindings can easily become very large, and the bindings may be very short-lived. Every individual binding needs to be queried, leading to a solution that does not scale. A solution to this problem is to assign so called port blocks. In such solution the NAT and the NAT
management system agree which public IP address to use for each end user (i.e. for each private address), and from which range of public ports to select public ports for that end user. Such agreement may be done by static configuration, or maybe an automated process. If port block allocation is performed then the above mentioned inspection node only needs to perform a single query per end user. Port block allocation is further described in US patent application US20110047256.
SUMMARY
In Mobile Service Chaining, User Plane Functions, UPFs, may be relocated to another instance of the same UPF. This mobile service chaining is the redesigned core architecture previously mentioned.
Fig. l illustrates a service chain and network topology with a three-level tag hierarchy for mobile broadband use cases. For each downlink packet, the IP Advertisement Point, IAP, queries the Location Register, LR, to find the User Equipment, UE, identity, ID, and Base Station, BS, ID for this UE. It adds those as tag TagBS="BS ID" and TagUE="UE ID". Further the downlink Classifier, CL, classifies the packet as a Mobile Broadband packet. It sets a TagD; e.g. TagD=x if the UE currently is connected to BSa. An IAP advertises (a range of) IP address/prefix towards an outer IP network. This may e.g. be Internet or an operator-internal network. A single IP address/prefix maybe advertised by multiple IAPs. The LR is a (often distributed) database that contains mapping between UE and the current location of that UE. The UE is identified by a UE IP address and optionally a UE ID. The current location is a BS ID. Upon every mobility event, i.e. a handover from a UE from one BS to another, the LR is updated with new location information. A tag is
conceptually a name/value pair in the header of a data packet.
At an insight of the inventors, a problem arises if one of the UPFs is a NAT. Assume that F4 is a NAT. For each uplink packet it translates private IP source address and source port into public IP source address and source port. But the LR only contains a mapping from private IP source address to BS ID and UE ID. So the problem is that the IAP will not be able to retrieve BS ID and UE ID from the LR for downlink packets. As a consequence the CL will not be able to classify the packet either. As a result of this, the packet cannot be placed on the correct chain and cannot be forwarded to the correct BS.
A potential solution would be to let the IAP query the port bindings from the NAT. However, as indicated above, this leads to a non-scalable solution as the number of port bindings may be very large, and the port bindings may be short-lived.
Another potential solution would be to place the NAT before the IAP and the CL, seen in the downlink. However, that places a restriction on the sequence of UPFs in the chain. It may be that certain UPFs needs to be before the NAT.
Another problem is that the NAT cannot be relocated. Suppose that a specific UE's context in F4 is relocated to F4'. Relocation means that, besides the live bindings, both the UE's public IP address and public port block is copied to F4'. Now suppose a second UE is also served by F4 and uses the same public IP address. Upon relocation of the context of the first UE to F4', the second UE may stay at F4. The same public IP address would thus be used by both F4 and F4'. In IP routed network this is not possible. And if the public IP address would be possible to use by both F4 and F4' in a service chained network, then it could be that F4' is already using that public IP address for a third UE. It could then be that F4 and F4' have bindings towards the same public port for the first and the third UE respectively. When the context of the first UE gets relocated to F4' there would be a clash in the port bindings.
A scalable solution is needed that does not restrict the order of the UPFs in the chain, and that allows for NAT relocation. According to a first aspect, it is presented a method for mobile service chaining in a cellular system. The method is performed by a Control Node, CN, of the cellular system and comprises the steps of: assigning a public IP address and a public port block for a User Equipment, UE, in the cellular system; and storing the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
According to a second aspect, it is provided a method for mobile service chaining in a cellular system. The method is performed by an IP
Advertisement Point, IAP, of the cellular system and comprises the steps of: querying a Control Node, CN, of the cellular system with a public IP address and a public port; and receiving a User Equipment, UE, identity, ID, and/ or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
According to a third aspect, it is provided a network device of a cellular system configured for mobile service chaining. The network device is a
Control Node, CN, of a cellular system. The network device comprises: a processor and a computer program product storing instructions that, when executed by the processor, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
According to a fourth aspect, it is provided a network device of a cellular system configured for mobile service chaining. The network device is an IP Advertisement Point, IAP, of a cellular system. The network device
comprises: a processor and a computer program product storing instructions that, when executed by the processor, causes the network device to: query a Control Node, CN, of the cellular system with a public IP address and a public port; and receive a User Equipment, UE, identity, ID, and/ or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
According to a fifth aspect, it is provided a network device of a cellular system configured for mobile service chaining. The network device is configured as a Control Node, CN, of the cellular system. The network device comprises: a determination manager configured to assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and a
synchronisation manager configured to store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached. According to a sixth aspect, it is provided a network device of a cellular system configured for mobile service chaining. The network device is configured as an IP Advertisement Point, IAP, of the cellular system. The network device comprises: a determination manager configured to query a Control Node, CN, of the cellular system with a public IP address and a public port; and a communication manager (82) configured to receive (72) a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a
Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
According to a seventh aspect, it is presented a computer program for a Control Node, CN, of a cellular system with mobile service chaining. The computer program comprising computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
According to an eighth aspect, it is presented a computer program for an IP Advertisement Point, IAP, of a cellular system with mobile service chaining. The computer program comprises computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: query a Control Node, CN, of the cellular system with a public IP address and a public port; and receive a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
According to a ninth aspect, it is presented a computer program product comprising a computer program and computer readable storage means on which the computer program is stored.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is now described, by way of example, with reference to the accompanying drawings, in which:
Fig. l is a schematic diagram illustrating a three-level tag hierarchy for mobile broadband cases.
Fig. 2 is a schematic diagram illustrating a network example.
Fig. 3 is a schematic diagram illustrating another network example.
Fig. 4 is a signalling chart in a cellular network according to an embodiment presented herein. Fig. 5 is a signalling chart in a cellular network according to an embodiment presented herein.
Figs. 6A-6D are flow charts illustrating methods for embodiments presented herein.
Fig. 7 is a schematic diagram illustrating some components/ devices of a network device.
Fig. 8 is a schematic diagram showing functional modules of a network device.
DETAILED DESCRIPTION
The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout the description.
The basics of the solution is that port block allocation is used in the context of mobile service chaining, and that port block allocation is synchronized between multiple Network Address Translator, NAT, instances via a Control Node, CN. A CN is a collection of all control plane functionality. The CN is here denoted as a single logical node. In a real deployment, such a node may comprise multiple boxes. In particular, the IP Advertisement Point, IAP, uses not only IP address but the combination of IP address and port as search keys to the Location Register, LR. The IDs received by the IAP from the LR are used as basis for forwarding decisions in the Forwarding Elements, FEs. No IP addresses and ports need to be used for forwarding decisions, which allows multiple NAT UPFs to use the same public IP address. As a
consequence, NAT relocation is possible.
To improve the function of mobile service chaining, port blocks are assigned and stored in the LR. The IAP can then query the LR with both public IP address and public port as search keys. The LR matches the public port, sent in the query, to a port block. The LR can then reply with Base Station, BS, identity, ID, and User Equipment, UE, ID just as for a case without change of Network Address Translator, NAT. This also allows the NAT to be relocated.
Mobile service chaining can thus be used, including the feature of relocation, even if one of User Plane Functions, UPFs, in the chain is a NAT.
The call flow of Fig. 4 describes an embodiment for this solution, which method also is illustrated in Fig. 6B. In this call flow embodiment there is only a single UPF, which is the NAT. There may however be additional UPFs between IAP and NAT and/or between BS and NAT, but for simplicity these are not illustrated. Classifiers, CLs, are for simplification not shown in the call flow. These may be placed between BS and IAP. Forwarding Elements, FEs, are used for forwarding on the network segment between BS and NAT, but these are not shown in the call flow. Between IAP and peer there is plain IP routing. The peer may be on an external IP network like Internet.
In steps 1-7 the attach procedure is performed, starting with an attach request 60. The CN assigns 61 a private address for this UE (step 3), which is sent back 65 to the UE in step 7. Alternatively, the UE does not receive the private IP address in step 7, but instead the UE performs an IP address setup procedure after step 7 (not shown in the call flow). This could e.g. be a DHCP (Dynamic Host Configuration Protocol) exchange or, in case of IPv6, a Stateless Address Auto configuration (SLAAC) procedure.
As part of the attachment procedure, the CN also assigns 62 a public IP address and a public port block for this UE (step 4). The CN stores 63 the mapping between public IP address, public port block and UE ID, BS ID in the LR (step 5). Note that the LR is conceptually a part of the CN. All information, i.e. UE ID, private IP address, public IP address and public port block is sent 64 to the NAT instance that will serve this UE (step 6). The NAT stores this information. After IP address setup, the UE is ready to send and receive user plane traffic. In this embodiment, the UE sends 66 a packet to a peer (step 8). The destination address of such packet indicates the peer. The source address is the private IP address for the UE. The source port is picked by the UE. When the NAT receives the packet, it performs NATing 67 to the public IP address for this UE and picks a public port from the port block of this UE (step 9). It then forwards the packet (step 10).
Note that it is assumed that the CN assures that multiple UEs that get their traffic forwarded through the same instance of the NAT get assigned different private IP addresses. This is the normal procedure in today's networks. The embodiment described here would even allow that multiple UEs that get their traffic forwarded through the same instance of the NAT get assigned the same private IP address. In that case the BS would need to add a tag in each uplink packet carrying the UE ID (this is not shown in the drawings). The NAT would then need to use that tag to identify to which UE this packet belongs.
When the peer replies 70 (step 11) the source IP address and port from the uplink packet are used as destination IP address and port in the downlink packet, which method also is illustrated in Fig. 6D. The IAP now uses not only destination IP address, but both destination IP address and destination port as lookup key for the query 71 to the LR (step 12). The LR replies 72 with UE ID and BS ID (step 13), adds those as tags and forwards 73 the packet (step 14). That NAT simply translates back 74 to the original private IP address and port (step 15), and the packet is further forwarded to the UE (step 16-17). Note that the forwarding decisions of FEs between IAP and NAT are not necessarily based on the information in the IP header of the packet. As this is a service chained network, the forwarding decisions maybe based on the tags of the packet. Using tags to make forwarding decisions gives freedom in the way IP addresses are to be handled. As in today's NATs in IP routed networks, the idea described here allows the same instance of a NAT UPF to use the same public IP address for multiple UEs. But furthermore, different instances of the NAT UPF may use the same public IP address for different UEs.
This property of forwarding in a service chained network also enables context of a particular UE in the NAT UPF to be relocated to another instance of the same NAT UPF. Relocation of a particular UE context in the NAT would include the copying of the NAT bindings from source NAT instance to target NAT instance. On top of this, the public IP address and public port block for this UE is also copied to the target NAT instance. The target NAT instance simply resumes using the new context. The CN ensures that packets are now forwarded via the target NAT instance.
The call flow of Fig. 5 gives a small variant to that of Fig. 4. Here, the NAT is not informed of the public IP address and port block for this UE as part of the attachment procedure. Instead, the NAT requests the CN to provide public IP address and port block for this UE when the first uplink packet arrives (steps
7-10). Note that these steps only need to be performed once for a particular UE.
The variants shown in Fig. 4 and Fig. 5 may also be combined. E.g. upon attachment, the CN assigns a small port block for this UE (Fig. 4). Then, when 68 the NAT runs out of port block space for this UE, it requests an additional port block (Fig. 5). The last step can be repeated at any time more space is needed. Such solution can be applied when the number of devices is large making port space scarce.
In the above text it has been assumed that a single UE has a single chain of UPFs. However, in the mobile service chaining solution it is possible that a UE gets assigned multiple chains, possibly with a different set of UPFs. E.g. there could be one function chain for the mobile broadband traffic and another chain for device-to-device traffic. The CN could handle this situation in two ways. The first alternative is to ensure that all chains for this UE that include the NAT UPF get routed through the same instance of the NAT. A second alternative is that the different chains for this UE use different NAT UPF instances. In the latter case, the CN could, for the different instances serving the same UE, assign the same public IP address but different port blocks, or assign different public IP addresses. A method for mobile service chaining in a cellular system, wherein the method being performed by a CN of the cellular system, is illustrated in Fig. 6A and comprises the steps of: assigning 62 a public IP address and a public port block for a User Equipment, UE, in the cellular system; and storing 63 the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
The method may further comprise the step of: sending 64 a private IP address, the public IP address, the public port block and the UE ID and/ or the UE private IP address for the UE to a Network Address Translator, NAT, of the cellular system, which is illustrated in Fig. 6B.
l6
The method may further comprise the steps of: assigning 62 a further public IP address and/or a further public port block for the UE in the cellular system; and storing 63 the assigned further public IP address and/ or further public port block in the LR of the cellular system mapped to the UE ID and/ or the UE private IP address of the UE and the BS ID to which the UE is attached, which is illustrated in Fig. 6B.
The step of storing may be stored in a Location Register, LR, of the cellular system.
A method for mobile service chaining in a cellular system, the method being performed by an IP Advertisement Point, IAP, of the cellular system is illustrated in Fig. 6C, and comprises the steps of: querying 71 a Control Node, CN, of the cellular system with a public IP address and a public port; and receiving 72 a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
The method may further comprise the step of: sending 73 downlink traffic to a Network Address Translator, NAT, of the cellular system, wherein the downlink traffic is tagged with the UE ID and/or the UE private IP address and the BS ID, which is illustrated in Fig. 6D. The method may further comprise the steps of: querying the CN with a further public IP address and/or a further public port; and receiving the UE ID and/or the UE private IP address of the UE and the BS ID to which the UE is attached from the CN in response to the querying, which is illustrated in Fig. 6D. A network device 20 of a cellular system configured for mobile service chaining, the network device being a Control Node, CN, of a cellular system is presented with reference to Fig. 7. The network device comprising: a processor; and a computer program product storing instructions that, when executed by the processor, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular
system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
A network device 20 of a cellular system configured for mobile service chaining is presented with reference to Fig. 7. The network device being an IP Advertisement Point, IAP, of a cellular system. The network device
comprising: a processor; and a computer program product storing
instructions that, when executed by the processor, causes the network device to: query a Control Node, CN, of the cellular system with a public IP address and a public port; and receive a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
A network device 20 for a cellular network is presented with reference to Fig. 7, which network device is in a cellular system configured for mobile service chaining. The network device 20 being a Control Node, CN, of the cellular system. The network device 20 comprises: a processor 21; and a computer program product 23 storing a computer program 25 with instructions that, when executed by the processor, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
Fig. 7 is a schematic diagram showing some components of the network device 20. The processor 21 maybe provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor,
microcontroller, digital signal processor (DSP), application specific integrated circuit etc., capable of executing software instructions of a computer program 25 stored in a memory 23. The memory 23 can thus be considered to be or form part of the computer program product 23. The processor 21 may be configured to execute methods described herein with reference to Figs. 6A-6D.
l8
The memory 23 may be any combination of read and write memory (RAM) and read only memory (ROM). The memory 23 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
A second computer program product 24 in the form of a data memory may also be provided, e.g. for reading and/ or storing data during execution of software instructions in the processor. The data memory can be any combination of read and write memory (RAM) and read only memory (ROM) and may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The data memory may e.g. hold other software instructions 26, to improve functionality for the network device 20. The network device 20 may further comprise an I/O interface 22 including e.g. a user interface. Other components of the network device are omitted in order not to obscure the concepts presented herein.
Fig. 8 is a schematic diagram showing functional blocks of the network device. The functional blocks may be implemented as only software instructions such as a computer program executing in the network device or only hardware, such as application specific integrated circuits, field
programmable gate arrays, discrete logical components, transceivers, etc. or as a combination thereof. In an alternative embodiment, some of the functional blocks may be implemented by software and other by hardware. The modules correspond to the steps in the methods illustrated in Figs. 6A- 6D, comprising a determination manager 80, a synchronisation manager 81 and a communication manager 82. In the embodiments where one or more of the modules are implemented by a computer program, then it shall be understood that these modules do not have to correspond to programming modules, but can be written as instructions according to the programming
language in which they would be implemented, since some programming languages do not typically contain programming modules.
The determination manager 80 is configured to assign a public IP address and a public port block for a User Equipment, UE, in the cellular system. This module corresponds to the assign step of Figs. 6A and 6B. This module can e.g. be implemented by the processor of Fig. 7, when running the computer program.
The synchronisation manager 81 is configured to store the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached. This module corresponds to the store step of Figs. 6A and 6B. This module can e.g. be implemented by the processor of Fig. 7, when running the computer program.
The determination manager 80 maybe configured to query a Control Node, CN, of the cellular system with a public IP address and a public port. This module corresponds to the query step of Figs. 6C and 6D. This module can e.g. be implemented by the processor of Fig. 7, when running the computer program.
The communication manager 82 maybe configured to receive a User
Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying. This module corresponds to the receive step of Figs. 6C and 6D. This module can e.g. be implemented by the processor of Fig. 7, when running the computer program. A computer program for a Control Node, CN, of a cellular system with mobile service chaining is presented. The computer program comprises computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: assign a public IP address and a public port block for a User Equipment, UE, in the cellular system; and store the assigned public IP address and public port
block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
A computer program for an IP Advertisement Point, IAP, of a cellular system with mobile service chaining is presented. The computer program comprises computer program code which, when run on a network device of a cellular system configured for mobile service chaining, causes the network device to: query a Control Node, CN, of the cellular system with a public IP address and a public port; and receive a User Equipment, UE, identity, ID, and/ or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
A computer program product is presented comprising a computer program as presented above and a computer readable storage means on which the computer program is stored.
The invention has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.
Claims
CLAIMS l. A method for mobile service chaining in a cellular system, the method being performed by a Control Node, CN, of the cellular system and
comprising: assigning (62) a public IP address and a public port block for a User
Equipment, UE, in the cellular system; and storing (63) the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
2. The method according to claim 1, further comprising: sending (64) a private IP address, the public IP address, the public port block and possibly the UE ID for the UE to a Network Address Translator, NAT, of the cellular system.
3. The method according to claim 1 or 2, further comprising: assigning (62) a further public IP address and/ or a further public port block for the UE in the cellular system; and storing (63) the assigned further public IP address and/or further public port block in the LR of the cellular system mapped to the UE ID and/ or the UE private IP address of the UE and the BS ID to which the UE is attached.
4. The method according to any one of claims 1 to 3, wherein the step of storing is stored in a Location Register, LR, of the cellular system.
5. A method for mobile service chaining in a cellular system, the method being performed by an IP Advertisement Point, IAP, of the cellular system and comprising: querying (71) a Control Node, CN, of the cellular system with a public IP address and a public port; and
receiving (72) a User Equipment, UE, identity, ID, and/ or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
6. The method according to claim 5, further comprising: sending (73) downlink traffic to a Network Address Translator, NAT, of the cellular system, wherein the downlink traffic is tagged with the UE ID and/or the UE private IP address and the BS ID.
7. The method according to claim 5 or 6, further comprising: querying (71) the CN with a further public IP address and/or a further public port; and receiving (72) the UE ID and/or the UE private IP address of the UE and the BS ID to which the UE is attached from the CN in response to the querying.
8. A network device (20) of a cellular system configured for mobile service chaining, the network device being a Control Node, CN, of a cellular system, the network device (20) comprising: a processor (21); and a computer program product (23, 24) storing instructions that, when executed by the processor, causes the network device (20) to: assign (62) a public IP address and a public port block for a User
Equipment, UE, in the cellular system; and store (63) the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
9. A network device (20) of a cellular system configured for mobile service chaining, the network device being an IP Advertisement Point, IAP, of a cellular system, the network device (20) comprising: a processor (21); and a computer program product (23, 24) storing instructions that, when executed by the processor, causes the network device (20) to: query (71) a Control Node, CN, of the cellular system with a public IP address and a public port; and receive (72) a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
10. A network device (20) of a cellular system configured for mobile service chaining, the network device configured as a Control Node, CN, of the cellular system, the network device (20) comprising: a determination manager (80) configured to assign (62) a public IP address and a public port block for a User Equipment, UE, in the cellular system; and a synchronisation manager (81) configured to store (63) the assigned public IP address and public port block mapped to a UE identity, ID, and/ or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
11. A network device (20) of a cellular system configured for mobile service chaining, the network device configured as an IP Advertisement Point, IAP, of the cellular system, the network device (20) comprising: a determination manager (80) configured to query (71) a Control Node,
CN, of the cellular system with a public IP address and a public port; and
a communication manager (82) configured to receive (72) a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
12. A computer program (25, 26) for a Control Node, CN, of a cellular system with mobile service chaining, the computer program comprising computer program code which, when run on a network device (20) of a cellular system configured for mobile service chaining, causes the network device (20) to: assign (62) a public IP address and a public port block for a User
Equipment, UE, in the cellular system; and store (63) the assigned public IP address and public port block mapped to a UE identity, ID, and/or a UE private IP address of the UE and a Base Station, BS, ID to which the UE is attached.
13. A computer program (25, 26) for an IP Advertisement Point, IAP, of a cellular system with mobile service chaining, the computer program comprising computer program code which, when run on a network device (20) of a cellular system configured for mobile service chaining, causes the network device (20) to: query (71) a Control Node, CN, of the cellular system with a public IP address and a public port; and receive (72) a User Equipment, UE, identity, ID, and/or a UE private IP address of a UE and a Base Station, BS, ID to which the UE is attached from the CN in response to the querying.
14. A computer program product (23, 24) comprising a computer program (25, 26) according to claim 12 or 13 and a computer readable storage means on which the computer program (25, 26) is stored.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562129172P | 2015-03-06 | 2015-03-06 | |
US62/129,172 | 2015-03-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016144230A1 true WO2016144230A1 (en) | 2016-09-15 |
Family
ID=55405421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SE2016/050030 WO2016144230A1 (en) | 2015-03-06 | 2016-01-19 | Method, network device, computer program and computer program product for mobile service chaining |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016144230A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018221943A1 (en) * | 2017-05-29 | 2018-12-06 | 엘지전자 주식회사 | Method for transceiving signal in association with multi-homing based psa addition in wireless communication system and apparatus therefor |
WO2019144826A1 (en) * | 2018-01-24 | 2019-08-01 | 中兴通讯股份有限公司 | Network identifier mapping method and system, terminal, and identification gateway |
US11483278B1 (en) * | 2021-10-24 | 2022-10-25 | Allot Ltd. | System, device, and method of resolving internet protocol (IP) addresses of devices in a communication network |
CN115426685A (en) * | 2022-08-31 | 2022-12-02 | 中国联合网络通信集团有限公司 | Access control method, device, equipment and medium for 5G edge computing flow |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047256A1 (en) | 2009-08-21 | 2011-02-24 | Babu Prakash | Port chunk allocation in network address translation |
WO2011047256A1 (en) * | 2009-10-16 | 2011-04-21 | Duke University | Compositions and methods for the treatment of drug-induced hand-foot syndrome |
EP2713583A1 (en) * | 2012-09-28 | 2014-04-02 | Juniper Networks, Inc. | Network address translation for application of subscriber-aware services |
EP2750437A1 (en) * | 2011-09-30 | 2014-07-02 | Huawei Technologies Co., Ltd. | Method and device for performing policy control on data packet |
-
2016
- 2016-01-19 WO PCT/SE2016/050030 patent/WO2016144230A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047256A1 (en) | 2009-08-21 | 2011-02-24 | Babu Prakash | Port chunk allocation in network address translation |
WO2011047256A1 (en) * | 2009-10-16 | 2011-04-21 | Duke University | Compositions and methods for the treatment of drug-induced hand-foot syndrome |
EP2750437A1 (en) * | 2011-09-30 | 2014-07-02 | Huawei Technologies Co., Ltd. | Method and device for performing policy control on data packet |
EP2713583A1 (en) * | 2012-09-28 | 2014-04-02 | Juniper Networks, Inc. | Network address translation for application of subscriber-aware services |
Non-Patent Citations (1)
Title |
---|
JIN X ET AL: "SoftCell: Taking Control of Cellular Core Networks", INTERNET CITATION, 15 May 2013 (2013-05-15), pages 1 - 14, XP002719715, Retrieved from the Internet <URL:http://arxiv.org/pdf/1305.3568v1.pdf> [retrieved on 20140204] * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018221943A1 (en) * | 2017-05-29 | 2018-12-06 | 엘지전자 주식회사 | Method for transceiving signal in association with multi-homing based psa addition in wireless communication system and apparatus therefor |
KR20200008638A (en) * | 2017-05-29 | 2020-01-28 | 엘지전자 주식회사 | Method and apparatus for transmitting / receiving signal in connection with adding MULTI-HOMING based PSA in wireless communication system |
KR102262857B1 (en) | 2017-05-29 | 2021-06-09 | 엘지전자 주식회사 | Method for transmitting and receiving signals in connection with adding MULTI-HOMING based PSA in wireless communication system and apparatus therefor |
US11122532B2 (en) | 2017-05-29 | 2021-09-14 | Lg Electronics Inc | Method for transceiving signal in association with multi-homing based PSA addition in wireless communication system and apparatus therefor |
WO2019144826A1 (en) * | 2018-01-24 | 2019-08-01 | 中兴通讯股份有限公司 | Network identifier mapping method and system, terminal, and identification gateway |
US11483278B1 (en) * | 2021-10-24 | 2022-10-25 | Allot Ltd. | System, device, and method of resolving internet protocol (IP) addresses of devices in a communication network |
CN115426685A (en) * | 2022-08-31 | 2022-12-02 | 中国联合网络通信集团有限公司 | Access control method, device, equipment and medium for 5G edge computing flow |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10686697B2 (en) | Methods and modules for managing packets in a software defined network | |
US11405351B2 (en) | Source-aware technique for facilitating LISP host mobility | |
CN105830395B (en) | For promoting the dialogue-based grouping routing of analysis | |
CN106790732B (en) | Address translation method, device and system, and network identification control method and device | |
EP3993347A1 (en) | Method and device for application migration | |
US20140129728A1 (en) | Apparatus, systems, and methods for ip reachability in a communications network | |
Shin et al. | Distributed mobility management for efficient video delivery over all-IP mobile networks: Competing approaches | |
US20110096782A1 (en) | Method for converting network address | |
CN105874756B (en) | The transmission method and equipment of control signaling | |
JPWO2009066438A1 (en) | Address assignment method, address assignment system, mobile node and proxy node | |
WO2016144230A1 (en) | Method, network device, computer program and computer program product for mobile service chaining | |
CN112153699A (en) | Interest packet routing in information-centric networks | |
US20150263947A1 (en) | Secondary lookup for scaling datapath architecture beyond integrated hardware capacity | |
US20230224793A1 (en) | Communication method and apparatus | |
US9231862B2 (en) | Selective service based virtual local area network flooding | |
Gohar et al. | TRILL-based mobile packet core network for 5G mobile communication systems | |
CN106792657B (en) | A kind of network identity method and device for supporting identity and position to decouple | |
KR20160002154A (en) | Method for generate contents name and routing method based on contents name using sdn networkd, apparatus using the same | |
KR20150123401A (en) | A Cloud-based Routing Method Using Content Caching in Content-Centric Networking | |
WO2018035864A1 (en) | Network management method and controller | |
US10863410B1 (en) | Methods for packet data network service slicing with microsegmentation in an evolved packet core and devices thereof | |
US20200344157A1 (en) | Receiver Directed Anonymization of Identifier Flows in Identity Enabled Networks | |
EP3456007B1 (en) | Reusing a tag | |
Gohar et al. | A hash‐based distributed mapping control scheme in mobile locator‐identifier separation protocol networks | |
EP2809094B1 (en) | Method and device for allowing wireless communication equipments to access to contents stored into near delivery nodes of a cdn |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16705845 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16705845 Country of ref document: EP Kind code of ref document: A1 |