User Plane Function
The primary role of UPF in a 5G system is to provide interconnections toward the external data network. Data networks can be the Internet, IMS, enterprise system etc. In any case, we need UPF to provide connectivity between the 5G network and the data network. 5G technology is itself a mobile technology which means that the mobile device will keep moving around. In such cases, we need one anchor point to provide fixed connectivity to the data network. This is called a mobility anchor and UPF provides the functionality as the mobility anchor. For example, if a device moves, it will connect to many gNBs, and the data network was not able to see that mobile is moving.
It will always route the IP traffic to the UPS and then the 5G system takes care of routing the data from the particular UPF to wherever the devices are. The functionality of UPF as a mobility anchor toward the external network is fulfilled. Since all the data from the particular data network comes to UPF, it is also an ideal spot for measuring the traffic usage and providing charging related information to the charging system. So it can measure exactly the MB and GB of data that is consumed by a certain device.
Suppose, if a device is in idle mode and the downlink data is scheduled for the device, then to make sure the data is not lost the UPF also have a buffering for functionality. It will buffer the downlink information until the device is ready to receive the information after waking up from the idle mode. In addition, the UPF is also responsible for the quality of service marking. In an external data network, we don’t know is there any particular quality of service differentiation, but once the data enter into the 5G system then we have a different mechanism to provide different quality of service. In the flow, the first step is with the UPF. So the UPF looks at the different data and assigns them a different quality of service identifier so that the different applications with different quality of service identifiers can be treated differently going forward in the network.
Here we can see there are two serial UPF. So UPF has a mechanism to forward certain kinds of the packet to a more central UPF or it might reroute the traffic already in the earlier part of a core network. This can be used for treating different types of traffic through the different UPFs.
The first half of the diagram indicates the different mechanisms that we have for the packet detection rule. Whenever there is an incoming packet to UPF, the first thing it has to detect is what kind of category this packet falls into.
For this purpose, there is a packet forwarding control protocol (PFCP) which will provide the packet detection rule. And then we have actual packet detection rules (PDRs), to identify what category the incoming packets fall into. If multiple criteria have been met, we also have a priority mechanism due to which packets are treated accordingly.
When the actual PDR are passed and criteria are met, then we have the instruction set about how to deal with a particular packet before it is forwarded out of the UPF. So there we have forwarding action rule (FARs), should incoming packet be forwarded in a different route or not?. This is done by FAR.
Next, we have buffer action rules (BARs), for example in the case of applications like streaming audio or streaming video so there is no need to buffer so that the buffer rule might be dropped the packet if it has to wait for a while. On the other hand, if it is a file transfer, then the buffering rule might say that buffer as much as possible doesn’t drop the packets.
Next, we have the quality of service enforcement rule (QERs), there are different applications in the 5G system so this rule indicates how to assign a quality of service identifier for a given kind of IP packet.
Then we have usage reporting rules (URRs), maybe we have to report the time for which a PDU session is held or maybe provide a report on the amount of data consumed. There is also an advanced data reporting on what is the average time spent in a buffer by a packet etc, so all these kinds of functionality together constitute the UPF and after the packet is detected and handled by FAR, BAR, QER, then the reporting measures are also taken into account and then the packet is forwarded out of the UPF.