Saturday, May 30, 2009

LTE : QoS

After a lot of brain storming I got close to understanding the QoS concepts in LTE. Over all QoS concept is clearly (?) defined in 3GPP TS 23.401 Clause 4.7. I wrote two posts some time back, one on Bearer lever QoS and other on EPS bearer. The idea is look at them together.

Before we proceed, there is term that needs to understood. TFT : Traffic Flow Template.

TFT is set of all packet filter associated with an EPS bearer. A packet filter may be associated with a protocol. A packet filter Identifier shall be used to identify a packet filter. For eg: lets say we have http traffic. Now we all know that destination port in Http is 80. So a packet filter can be created indicating destination port to 80 and this packet filter may associated with a ID which is nothing but packet filter ID. Now several packet filters can be combined to form a Traffic Flow Template. EBI+Packet filter ID gives us a "unique" packet filter Identifier. The following is the TFT for FTP protocol.

TFT.tiff


Let now try and understand the Bearer level QoS. Bearer level QoS is associated with a bearer and all traffic mapped to that will receive same bearer level packet forwarding treatment. Bearer level QoS parameter values of the default bearer are assigned by the network based on the subscription data received from HSS.

In LTE the decision to establish or modify a dedicated bearer is taken by EPC and bearer level QoS parameters are assigned by EPC. These values "shall" not be modified by MME but are forwarded transparently to EUTRAN. However MME may reject the establishment of dedicated bearer if there is any discrepancy.


bearer qos.tiff
Bearer QoS IE

Now we understand TFT and bearer QoS. A default bearer may or may not be associated with a TFT. But a dedicated bearer is always associated with TFT. So we have bearers, the qos values for them and TFT which indicate what type of application should run over them. This defines the LTE QoS. We have Uplink TFT and Downlink TFT which are used by UE and PDN in respective transmissions i.e uplink or downlink.
Lets look at following paragraph carefully.

The UE routes uplink packets to the different EPS bearers based on uplink packet filters in the TFT's assigned to those EPS bearers. We have evaluation packet precedence index in packet filter which is used by UE to search for a match (to map the application traffic). Once the UE finds a match it uses that particular packet filter to transmit the data. If there is no match UE transmits the data on bearer to which no TFT has been assigned.

Let understand this with an example. Say UE wants to transmit a FTP and HTTP data. Say a dedicated bearer is created for transmitting HTTP data and say FTP is to be transmitted on default bearer. So dedicated bearer is associated with a TFT which has packet filter for HTTP. This packet filter has a evaluation precedence. So when UE wants to send HTTP data, it looks at the evaluation index. After that it matches if that packet filter is for HTTP or not. Once it finds a match it uses that bearer to send HTTP traffic. Note here that Packet filter is associated with TFT and TFT is associated with dedicated bearer and dedicated bearer QoS is set. So a proper traffic shaping/ forwarding mechanism will be used to transmit the HTTP data. And FTP is transmitted over default bearer as there is no packet filter associated for it.

Thus is the QoS mechanism in LTE. I hope the post is clear. Feel free to write to me in case of any clarification.

I hope I got it right else correct me. Comments are greatly welcomed.

33 comments:

Anonymous said...

Very good post. TFT things is explained in a simple and straight way.

I'd like to see more about simple QOS model and QOS negotiation procedures in EPS.

Santosh said...

Sure thing. There are few more things to look at in QoS. Part 2 is on the way! :)

Duncan Salerno said...

Excellent posts, so much easier to understand than the specs.

Would it be possible to upload some of the packet captures you reference for readers to look at?

Santosh said...

Thanks Duncan.

I can upload some packet captures. But my worry is wireshark dissector. Let me check how far the GTP v2 dissector code can go in wireshark now and get back. In case you are looking for captures right away then write to me. I will be happy to email them.

TechnoTerp !! said...

Is there a limit on the Maximum TFT's. And also i would like to knw if TFT negotiation is done using VSNCP. Would appreciate if you could explain the above.

Santosh said...

Yes.. there is a limit on TFT. A maximum of 16 TFT's is possible, out of which 5 are reserved. (I could never find them out). The limit for TFT's come from the EBI field. A EBI field is 4 bit which means 16 EBI's are possible. One EBI for default bearer and rest for dedicated bearers.

The whole idea is each dedicated bearer will be associated with a TFT. Which means 11 TFT's results in 11 dedicated bearers.

There is nothing like TFT negotiation. TFT is a way to indicate the network what kind of traffic you want to run, for example voip, web etc.

And I am really unaware of the VSNCP. Could you elaborate the context?

TechnoTerp !! said...

its vendor specific network control protocol. Its basically does the LCP negotiation with the AT

I thought that TFT and packet filter set would be per AT basis more like AT and its service capability. Hence the topic of TFT negotiation

So TFT's sounds more like different traffic types kind of. Am i correct ?

TechnoTerp !! said...

One more suggestion. It would be good if you could explain Qos negotiation procedure.

keep up the good work :)

Santosh said...

Ok...let me see what I can do more with QoS :)

Anonymous said...

This part of QoS does not including the transport layer. that means the QoS how to mapping to IP packet for transport.
I am confusing on QoS part. Only draft procedure learn about it.
on P-GW, the packet filter ID is mapped to GTP-TEID, then the GTP-TEID is mapped to DSCP(x), the DSCP field is used to identify the IP packet priority for transport to S-GW. and then s-GW mapping to DSCP(y) again via GTP-TEID, and transport the IP packtet which contain DSCP(y) filed to eNB. At e-NB side, the IP packet is parsed to identify the GTP-TEID, then eNB mapping the GTP-TEID to RBID for UU interface QoS control.
But I do not clear know how it works. So I really appreciate you have Blog of QoS part 2 release.
Thank you for your good work.

Santosh said...

Hi

Have look at the next post, it might answer your questions. Let me know if doesnt.

http://wired-n-wireless.blogspot.com/2009/06/lte-qos-part-2.html

Santosh

Anton said...

One topic is not covered by your explanations.
Let us imagine that we have LTE USB dongle in our common notebook (e.g. Windows 7 is installed).
So, there are different applications which are communicating by different protocols.
If I remember correctly, it was described that application (UE) should request dedicated bearer by oneself (providing TFT).
But how we will deal in my example case (with notebook), if application doesn't know anything about QoS, but we want to provide some QoS to UE?

thank you

Santosh said...

Anton

Dedicated bearers can be requested by UE or network itself can initiate the dedicated bearers.

First thing to note here is there is no qos done on the radio side. All qos policies are enforced on the uplink and downlink tunnels in the core network. If you regulate the traffic in the core network then it is automatically regulated on radio side. So UE really need not worry about QoS, but it can adjust the traffic based on the qos that it has received from the network.

Santosh

Anonymous said...

Hi,
I still don’t get it. Let’s continue with the laptop example.

Say we have an application that wants to send some data. It prepares an IP packet and feeds it to TFT. TFT examines IP header and maps the packet to a specific RadioBearer with defined QoS. Right?
The question: How is the UE aware of TFT mapping policy? For example, how does it know that in this current network it should map IP packets originated by Skype to RadioBearer with QCI=1. This mapping rule may vary from operator to operator, doesn’t it?
What if CN vendor and operator define new QoS profile, above the standardized 9. How does the EU become aware?
Thanks,

Santosh said...

This is where the concept of EPS bearer identity comes in.

For a UE, there is always a default bearer established. This is all pass bearer and it has an QCI assigned. How ever no TFT's are defined for default bearer. Then there are dedicated bearers. Each dedicated bearer is assigned a QCI and one or more TFT's. Each bearer, both dedicated and default is identified by EPS bearer identity (EBI).EBI is assigned by the network and UE is intimated about it once the bearers are created.

This EBI is same for a radio/s1/EPS bearer. Once the network assigns a particular qos to a TFT, the same is conveyed to the UE. Mind you that qos is set for dedicated bearers and dedicated bearers are identified by EBI in both UE and network. So all the UE does is map the traffic to the particular EBI.

Say Skype is to run on dedicated bearer with EBI 6. This bearer has a qci and one or more TFT's. So what UE will do is if the skype packet has to be sent out, it will simply mark the packet with EBI 6. The same packet reaches eNB. eNB know what qos has to be assigned on the tunnel for EBI=6 and does the same.

In the downlink direction PGW/SGW will have to do deep packet inspection to filter the packet according to the TFT and then assign the corresponding EBI to it. But actual QoS values like maximum bitrate etc are enforced on the tunnels.

Hope this helped.

Cheers, Santosh

Anonymous said...

Thanx!

But how are these QoS rules are transfered to UE. In WiMAX QoS profiles and rules for UL scheduler are transfered to UE during initial Network entry.
How is it done in LTE?

Santosh said...

The default bearer qos values are transfered to the UE once it is attached to the network. Dedicated bearers qos is transfered once the UE requests for it or network itself activates it. Typically all this is process is done during the initial entry. However there is possibility to change these qos values too.

Anonymous said...

Hello!!

I would like know how the core nework distinguishes diferent traffic (VoIP and FTP, for example) for the same UE? it's through an id's(protocol, port, for example) or the differents traffics can have differents IP's to the same user?

I also would like know if the several UEs are distinguishes by yours IPs or by global ID in the core network?

Thanks

Santosh said...

Traffic is classified based on the filters. Filters are created based on protocol, port,source and destination ip address, set of ports etc.

A UE can have multiple IP addresses but they correspond to different PDN connections. UE, in the core network, is not identified by the IP address that it was allocated. There are other identifier which are used, for e.b IMSI, MSISDN etc.

Anonymous said...

Hello!

In the above commentary you say:
"First thing to note here is there is no qos done on the radio side. All qos policies are enforced on the uplink and downlink tunnels in the core network. If you regulate the traffic in the core network then it is automatically regulated on radio side."

But, for it will be possible ensure QoS for one service, the eNB must see if he has the necessary resources (blocks) to ensure the bitrate, delay, etc, correct? and them this resources are "reserved" when the bearer is created, or no?

What you want say in your post are this process is automatically done , sence the request is doing to for core network, correct?

Thanks

Santosh said...

Hi

You are correct. But the decision for awarding QoS is taken by core network. Radio network can accept what core network has sent and allocate necessary resources or can just reject the bearer.

Anonymous said...

Hello!!

I have a doub about resources...when an UE connects to eNB, the resources that it reserve are uniquely used by him or when the UE don't use this resources (for example, in one call when the other user is talking) the others UEs can use these resorces?
This applies to the default bearer an dedicated bearer?

And if it is possible, for example, when a eNB is completelly full, but no users are using the reserved resources, a new UE can attach in this eNB because he see that exist sufficient resources. But, if all UEs attached in eNB decide use the allocated resources on the same time, the existed resources aren't sufficient. What's happend in this case?

Thanks your attention.

Santosh said...

Hi

When ever a bearer is created eNB assigns resources to it. In case if UE is not utilizing the resources or eNB is experiencing congestion, it can move the UE to IDLE mode by releasing the RRC connection and all the radio bearers. While releasing the RRC connection, eNB will also inform core network to release all the dedicated bearers and just have the default bearer. This way UE will still have the default bearer. Its upto the eNB to manage its resources.

Refer to S1 Release procedure in 3GPP TS 23.401

Cheers, Santosh

Anonymous said...

Hello!!
Thanks your answer.

So, for example, when UE1 is on the phone with UE2, if user1 is talking with user2, he use the allocated resources to uplink, but the resources allocated to downlink aren't used. So, through what you say, the dedicated bearer for downlink pass to idle mode, correct?and thus the resources for this can be used by another user3, correct? But when the user1 are listening, he need the resources for downlink,so, it is necessary activate the dedicate bearer for downlink, but since the user3 was added, the necessary resources for user1 doesn't already exist, although user1 had reserved the necessary resources when he attach.

This is correct? what's happen in this situation for user 1?

Thanks

Santosh said...

Hi

When user a allocated a bearer then both uplink and downlink resources are allocated to him. But based on the type of traffic the number of resources allocated for uplink and downlink may vary.

In your example, if user1 has consumed all the resources then user3 will be dropped, unless and network decides other wise. But dedicated bearers are created or resources are allocated based on the service level agreements. Hence the network needs to carefully planned.

Anonymous said...

Hello Santosh!!

For an eNB can accept a new UE, he must verify if he has the necessary resources for this UE. For this verification, how eNB looks the free resources? he looks to EPC link resources and compare with resources in use? Or he has the information about the total resources that he can have (statically)and compare with resources in use?

Thanks

Santosh said...

How eNB verifies how much resource is present is implementation specific. There are lot of criteria here, but mainly eNB will be worried about radio resources.

Vinay Garg said...

A quick query - That means a multiple bearers can have single Qos? as they can share TFTs..

but why would be need to make a different bearer with same Qos?
Just to identify the application may be..?

Santosh Kumar Dornal said...

Multiple bearers cannot share the TFT. However same qos can be applied to multiple bearers. this way you will be able to still charge per bearer differently, by still providing the same qos.

However, in reality qos is different from bearer to bearer.

chetansinghrathore said...

hi,

I am new to Lte and have some questions ?

1) why we have EPS BI field in PDN CONNECTIVITY REQ, when we pass null value in it?

2) what is use of PTI ? if UE can assign EPS BI in pdn request, is PTI still required?

3) Can N/w initiate default bearer creation.

sreeram said...

To Chetan question,
PTI is nothing but transaction ID. For e.g, UE can initiate two PDN connection requests with different APNs at same time. Now network assign default EPS bearer ID for each PDN but DUT has to track which EPS bearer for with APN. In cases like thai, transaction ID is helpful. Each PDN conn request starts with different PTI and and same PTI carried for that particular APN till default bearers configured.

Device need one default bearer for one APN. NW can initiate Default bearer procedure once it got PDN connection request.

Rakesh Kumar said...

Very good post. I have a query on TFT.

As mentioned earlier in the post that TFTs may or may not be associated with default bearer, is it possible to associate a TFT for the default bearer during bearer modification process?

Suppose a default bearer is created without any TFT but now network wants to associate a TFT for the default bearer. Is it possible?

Santosh Dornal said...

Yes, that is possible.