Sunday, July 19, 2009

LTE user plane

Questions. More questions!

This time focus in on LTE user plane and SGW load balancing. Picture this. eNB, MME and SGW. Control plane between MME and SGW, User plane between eNB and SGW controlled by MME. Perfect.

SGW : How many interfaces does an SGW have. When I read about ALU bringing in LTE device (ALU 7750) I went and checked out their website. Read here. A SGW is going to be a blade which will sit in a 7750 router. So is the case with Cisco. When I say a blade, how many interfaces will that blade have? Next how many blades can sit in a device? And how will the blades be controlled? Each blade will have its own software to control?

More elaboration: MME sends out a create session request to SGW. It picks up the SGW from SGW selection function. So a create session request will be sent to a particular SGW. Particular SGW mean a "Particular IP". Now SGW may respond to request with a Create Session Response. Note that Create Session response has FTEID of SGW, where in SGW can send information about another blade of SGW that is another interface, if it exists. That way SGW can balance the load? Say if 7750 has 10 SGW blades, then how will this load balancing be done. One main interface and having several other interfaces? How are all these blades controlled? Because there has to be a TEID mapping.

User Plane: When we say user plane is segregated from control plane, what do we mean here. Is user plane traffic going to hit the same interface of SGW where control plane is established. If yes, how good is this implementation? Again same question, if there exists multiple blades how are they controlled?

Below find SGW with little boxes which are nothing but blades. Will the blades be controlled by master software running on SGW or will there be a software for each blade. Say if two blades have to communicate how will they do it?


How it started: I am working a product which is supposed to test SGW. As there is no SGW available to test dev guys gave us a dummy implementation of SGW. Here both user plane and control plane traffic hit the same interface. I decided to write my own SGW. The problem is my SGW runs on a linux box and I wrote only control plane communication. After control data is supposed to flow. I noticed that data was hitting the same interface where control plane was established. Thats where my quest for separating the data and user plane began.

Folks any clue on how it is done? I really want to know how is the SGW made. Your reply's are appreciated and greatly welcomed.


Chris said...

What may happen is that the MME may initally signal to the SgW via a VIP Address (1 address). The SgW will respond will an appropriate address for the User Plane connection, which would be one of the IP address's of the blades.
My experience with 2G / 3G GTP is there is nornally one IP address for signalling (GTP-C) and multiple address's for Payload (GTP-U). Nornally the multiple IP's for payload correspond to different boards in the platform.
I would expect GTPv2 is fairly similar.


Santosh said...

Thanks for the clarification Chris!

User plan traffic hitting other IP address in blade makes sense. Else the device might be choked up.

Anonymous said...

Is there a possibility for MME to be connected to multiple SGWs or many MMEs connected to one SGW?? Which of the following mappings fits in the real core network?

one-to-many (as per my assumption, no)
many-to-many (as per my assumption, no)

Pls let give ur input.


Santosh said...

I dont see any problem with Many to many, atleast spec doesnt say it "cant"be done(SGW selection function). But in the real world implementation it wouldn't be a great idea to deploy the mesh.

The most ideal scenario for me is many MME's talking to one SGW.

Manish said...

Yes I agree with Santosh, Many MME to one S-GW is most likely implementation.

I agree with Chris also, C-plane and U-plane both have different IP addresses and yes GTPv2 also has provision to communicate those addressed via FTEID for user plane and FTEID for user plane. Load balancing module will assign different user plane IP address (FTEID) to different session. Even for control plane one blade (IP address) can be dedicated for initial Create Session Request. After that rest of all GTPv2-C messages can be directed to different blade(s) for control plane load balancing by replying C-FTEID in Create Session Response.

Regards and Keep Smiling

Santosh said...

Yes Manish! What you guys say seems to be very logical and practical. Thanks again.

M. kishore said...


How enodeB select MME, 24.301 spec says using Load balancing with in the MME pool area can select mme. But how enodeB knows which MME having high capability or low capability. The capability relatively change with in MME pool area.

Santosh said...


eNB doesnt do load balancing. Practically speaking one eNB is connected to not more than 2 MME's. Load balancing is done on the MME.

Cheers, Santosh